l使用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

最佳答案

在资源文件中,将"Select Category"替换为L"Select Category",将"MS Shell Dlg"替换为L"MS Shell Dlg",依此类推。

下次发布完整的代码,请进行编译和测试。

关于c - 对话框不起作用-Win32 API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34699622/

10-11 22:05