【发布时间】:2016-03-23 12:14:46
【问题描述】:
我的要求是:
我正在使用基于 MFC 对话框的应用程序,在这里我想用日语字符串设置对话框的标题。
下面是我的代码sn-p:
CStringW str; // Using CStringW to support unicode characters
CTestofUTF83Dlg dlg; // CTestofUTF83Dlg is my dialog class that is derived
//from CDialog
str.LoadString(IDC_TESTJAPAN); // IDC_TESTJAPAN contains my Japanese string
SetDlgItemTextW(dlg,IDD_TESTOFUTF83_DIALOG,str); // IDD_TESTOFUTF83_DIALOG is the ID of my Dialog
使用上面的代码,对话框标题不反映日文字符串。
我认为是由于SetDlgItemTextW的第一个参数,即对话框的句柄(dlg)。
因为,如果我使用SetDlgItemText() 函数,我可以设置标题。
请帮帮我。
【问题讨论】:
-
您是否调试过您的 LoadString 确实将所需的字符串放入 str 中?
-
@weisman.. 是的,LoadString 正在将所需的字符串放在 str 中。
-
函数返回值是否表示成功?
-
@o_weisman.. 是的,它表示成功,问题仅出在这一行 SetDlgItemTextW(dlg,IDD_TESTOFUTF83_DIALOG,str);因为如果我使用消息框来测试 MessageBoxW(dlg,str,0,0);它工作正常并显示字符串。
标签: mfc