zoukankan      html  css  js  c++  java
  • 调用 DialogBox 会失败解决方法

    #include   "stdafx.h "
    #include   "resource.h "
    BOOL   CALLBACK   DialogProc(
        HWND   hwndDlg,     //   handle   to   dialog   box
        UINT   uMsg,           //   message
        WPARAM   wParam,   //   first   message   parameter
        LPARAM   lParam     //   second   message   parameter
    )
    {
    switch(uMsg)
    {
    case   WM_INITDIALOG:
    return   TRUE;
    case   WM_COMMAND:
    if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL)
    EndDialog(hwndDlg,LOWORD(wParam));
    return   TRUE;
    }

    return   false;
    }
    int   APIENTRY   WinMain(HINSTANCE   hInstance,
                                              HINSTANCE   hPrevInstance,
                                              LPSTR           lpCmdLine,
                                              int               nCmdShow)
    {
    if(DialogBox(hInstance,MAKEINTRESOURCE(IDD_CHAT_DIALOG),NULL,(DLGPROC)DialogProc)==-1)
    {    
    MessageBox(NULL, "Call   DialogBox   failed. ", "Error ",MB_ICONEXCLAMATION);
    return       -1;
    }  
    return   0;
    }


    New-> Win32   Application-> A   simple   Win32   application-> finish

    然后   Insert-> Recource     插入对话框,编译没有错误,可对话框就是不显示,请问这是为什么呢?但我改成   New-> Win32   Application-> A   typicl   "hello   World "   application-> finish   就可以显示对话框,这是为什么呢?
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    我写了一个win32的应用程序,自己创建了一个窗口,点击鼠标左键的时候,调用MessageBox会弹出一个窗口来,本来没什么问题。但是我将外部的一个资源(就是windows扫雷的资源)添加进工程以后,就只能听到对话框“嘟”的一声,但是对话框却没有显示,这到底是怎么回事啊?
    到弄了几天都没有弄出来,各位大哥帮帮忙吧
    --------------------------------------------------------------------------------
    无代码,无真相
    --------------------------------------------------------------------------------
    调用一下:InitCommonControls
    --------------------------------------------------------------------------------
    楼上太强了,我加了以后就可以了。分先给你。

    --------------------------------------------------------------------------------
    --------------------------------------------------------------------------------
    1:包含头文件和库
      #include   "commctrl.h "
      #pragma   comment(   lib,   "comctl32.lib "   )

    2:   注册HotKey
    INITCOMMONCONTROLSEX   s;
    s.dwSize=   sizeof(   INITCOMMONCONTROLSEX);
    s.dwICC   =   ICC_HOTKEY_CLASS;
    InitCommonControlsEx(   &s);

    完整代码如下,再试试

    #include   "stdafx.h "
    #include   "resource.h "
    #include   "commctrl.h "
    #pragma   comment(   lib,   "comctl32.lib "   )
    int   APIENTRY   WinMain(HINSTANCE   hInstance,
                                              HINSTANCE   hPrevInstance,
                                              LPSTR           lpCmdLine,
                                              int               nCmdShow)
    {
    INITCOMMONCONTROLSEX   s;
    s.dwSize=   sizeof(   INITCOMMONCONTROLSEX);
    s.dwICC   =   ICC_HOTKEY_CLASS;
    InitCommonControlsEx(   &s);
    if(DialogBox(hInstance,MAKEINTRESOURCE(IDD_CHAT_DIALOG),NULL,(DLGPROC)DialogProc)==-1)
    {    
    MessageBox(NULL, "Call   DialogBox   failed. ", "Error ",MB_ICONEXCLAMATION);
    return       -1;
    }  
    return   0;
    }

  • 相关阅读:
    项目总结-驱虫市场电商数据挖掘
    电商数据处理项目
    Hive sql常用函数公式整理
    拉勾网‘数据分析师’职位招聘信息数据爬取
    鸢尾花数据(PCA主成分分析)
    项目总结-信用评分卡
    某保险公司参保客户分析
    Excel自定义格式参数
    VS2013创建ADO实体模型报:Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
    AngularJS-学习
  • 原文地址:https://www.cnblogs.com/luoyaoquan/p/2025921.html
Copyright © 2011-2022 走看看