使用MSVC ++ 2010制作程序。在对话框程序工作之前,代码编译和消息框但不会弹出对话框。但是,如果我使用相同的代码到Dev-C ++它运行正常,但不是所有的下拉列表组合框显示。
switch (message)
{
case WM_CREATE:
MessageBox(hWnd, L"Run",L"Message",0);//Just for clarity
DialogBox(((LPCREATESTRUCT)lParam)->hInstance,L"CHOICEBOX",hWnd,ComboDlg);
return 0;
INT_PTR CALLBACK ComboDlg(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){//Dialog proc
int i=0; static int firsttime=1; PWSTR input=NULL;
switch(message)
{
case WM_INITDIALOG:
//Dropdown combobox initialization
return (INT_PTR)TRUE;
CHOICEBOX DIALOGEX 0, 0, 385, 279 //.rc
STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME
CAPTION "Select Category"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
//comboboxes and static text controls
END
答案 0 :(得分:1)
在您的资源文件中,将L"Select Category"
替换为"MS Shell Dlg"
,L"MS Shell Dlg"
替换为AlarmManager.AlarmClockInfo
等。
下次发布一个完整的代码,我们可以编译和测试。
答案 1 :(得分:1)
考虑到对汉字的最后评论。
要使用 PCWSTR 而非 const char *或PCSTR 的数据类型。
所以正确的语法应该是PCWSTR Choice[]={L"string1", L"string2", L"etc"};
请在每个字符串之前考虑L,因为MSVC ++在IDE上使用了UNICODE或UNICODE。