Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;MFC中的GUI-分页小部件 我写C++代码,瞄准WinCE 6设备,我很难为我的应用程序完成GUI。我必须使用的VS 2005 window builder似乎并没有简化这项任务,我也找不到能够对API有所帮助的文档,希望这里有人可以_C++_User Interface_Mfc_Clistbox - Fatal编程技术网

C++;MFC中的GUI-分页小部件 我写C++代码,瞄准WinCE 6设备,我很难为我的应用程序完成GUI。我必须使用的VS 2005 window builder似乎并没有简化这项任务,我也找不到能够对API有所帮助的文档,希望这里有人可以

C++;MFC中的GUI-分页小部件 我写C++代码,瞄准WinCE 6设备,我很难为我的应用程序完成GUI。我必须使用的VS 2005 window builder似乎并没有简化这项任务,我也找不到能够对API有所帮助的文档,希望这里有人可以,c++,user-interface,mfc,clistbox,C++,User Interface,Mfc,Clistbox,我需要在widget页面上动态写入user is on/页面总数。我希望CTEXT是正确的小部件 CTEXT IDC_PG, 168,183,63,63 然而,我似乎找不到正确的方法如何在CTEXT(或任何其他合适的小部件)上打印,提前感谢您的建议 如果我正确理解了问题,您希望在UI上显示一些文本,格式为“第x页,共n页”。静态文本控件(如CTEXT)适用于此 要以编程方式设置文本,可以调用SetWindowText,但由于它位于对话框上,因此调用它可能更容易 从您的示例中

我需要在widget页面上动态写入user is on/页面总数。我希望CTEXT是正确的小部件

CTEXT           IDC_PG, 168,183,63,63

然而,我似乎找不到正确的方法如何在CTEXT(或任何其他合适的小部件)上打印,提前感谢您的建议

如果我正确理解了问题,您希望在UI上显示一些文本,格式为“第x页,共n页”。静态文本控件(如CTEXT)适用于此

要以编程方式设置文本,可以调用SetWindowText,但由于它位于对话框上,因此调用它可能更容易

从您的示例中,标识符是
IDC_PG
,它应该对应于对话框上所有控件中唯一的数值常量。假设您有一个对话框的MFC对象(我假设它是
myDialog
)和一个指向要显示的以零结尾的文本的指针(我假设它是
szPageText
),您的调用如下所示:

myDialog.SetDlgItemText(IDC_PG, szPageText);
如果您只有一个对话框句柄,您的调用将如下所示:

SetDlgItemText(hDlg, IDC_PG, szPageText);
由于这是较旧的代码,因此可能是针对MBCS(在Windows文档中通常称为ANSI)或UTF-16(在MSDN中通常称为Unicode或“wide”字符串)编译的,因此您可能希望使用TCHAR和相关宏来确保它以任何方式工作

TCHAR szPageText[64] = TEXT("");
wsprintf(szPageText, TEXT("Page %d of %d"), currentPage, totalPages);
myDialog.SetDlgItemText(IDC_PG, szPageText);
在更现代的代码中,您可能会显式地使用API的广泛版本:

WCHAR szPageText[64] = L"";
::wsprintfW(szPageText, L"Page %d of %d", currentPage, totalPages);
myDialog.SetDlgItemTextW(IDC_PG, szPageText);

CTEXT是一个列表框,而不是一个列表框。正确,我删除了问题中的打字错误,谢谢你,阿德里安,这篇文章内容丰富,很有帮助。