利用字符串资源显示MessageBox

时间:2021-05-22

C++代码
//////////////////////////////////////////////////////////////////////////
// InfoBox
// 利用字符串资源显示MessageBox
// hParent - 父窗口句柄
// uIDString - 字符串资源ID
// lpszCaption - MessageBox窗口标题
// uType - 同MessageBox最后一个参数
// 返回值:同MessageBox
// 备注:
// 1.可以像wsprintf那样加入可选附加参数;
// 2.最大字符串长度为MAX_PATH。
//////////////////////////////////////////////////////////////////////////
int CDECL InfoBox( HWND hParent, UINT uIDString, LPCTSTR lpszCaption, UINT uType, ... )
{
va_list arglist;
TCHAR str[MAX_PATH], strLoad[MAX_PATH];
va_start( arglist, uType );
LoadString( NULL, uIDString, strLoad, MAX_PATH );
wvsprintf( str, strLoad, arglist );
va_end( arglist );
return MessageBox( hParent, str, lpszCaption, uType );
}
补充两点:第一,字符串资源是一种很好用的资源,利用字符串资源显示MessageBox可以使消息文本容易更改;第二,字符串有长度的限制,如果希望突破这种限制,可以参考MFC中CString::Format的代码对字符串的长度进行动态计算。


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章