MFC 对话框使用 Unicode 字符集与使用多字节字符集的不同

来源:互联网 发布:哇嘎超级节点连接网络 编辑:程序博客网 时间:2024/06/07 07:00


MFC 程序里使用“类向导”添加一个类,命名为 CProgressDlg,继承自 CDialogEx。

然后在“资源视图”里,打开刚刚创建的对话框,在界面上放一个 Progress Control。为 Progress Control 添加个变量,命名为 m_ctlProgress。

再给 CProgressDlg 类添加两个函数:

void CProgressDlg::SetProgressRange(int nLower, int nUpper){m_ctlProgress.SetRange32(nLower, nUpper);}void CProgressDlg::SetProgressPos(int nPos){m_ctlProgress.SetPos(nPos);}


1、使用 Unicode 字符集

设置项目“使用 Unicode 字符集”,然后添加下面的语句:

//此处启动一个新线程,执行一些耗时的操作,然后CProgressDlg dlgProgress;dlgProgress.SetProgressRange(0, 100);dlgProgress.SetProgressPos(0);dlgProgress.DoModal();
//耗时操作完成后,通知 UI 线程执行下面的语句dlgProgress.EndDialog(IDOK);


使用 Unicode 字符集,上面的语句运行正常。


2、使用多字节字符集

新建一个项目,设置项目“使用多字节字符集”,然后按照上面的步骤,添加相同的代码。

运行程序,出错!


因此,建议尽量使用 Unicode 字符集。



0 0
原创粉丝点击