| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2301 人关注过本帖
标题:[Win32编程]创建了一个对话框资源,如何来显示它?
只看楼主 加入收藏
hust_sj
Rank: 3Rank: 3
来 自:湖北
等 级:论坛游侠
帖 子:94
专家分:116
注 册:2009-8-26
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:6 
[Win32编程]创建了一个对话框资源,如何来显示它?
对话框资源ID:IDM_ADD, 点击主窗口菜单项:添加  就弹出个自己建立的对话框IDM_ADD ,这个怎么实现?
搜索更多相关主题的帖子: 对话框 资源 
2010-08-09 22:05
shn521
Rank: 2
等 级:论坛游民
威 望:1
帖 子:56
专家分:52
注 册:2010-6-18
收藏
得分:5 
http://www.
第7讲
2010-08-09 23:25
hust_sj
Rank: 3Rank: 3
来 自:湖北
等 级:论坛游侠
帖 子:94
专家分:116
注 册:2009-8-26
收藏
得分:0 
回复 2楼 shn521
那个我看过,使用MFC做的 ,要是不通过MFC向导, 怎么自己写代码? (我建立的工程是 Win32 Application,不是MFC)

每当我回完帖时,我都会默默的点一根烟,然后离开
2010-08-10 00:48
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:5 
用下面的API创建。
DialogBoxParam
int DialogBoxParam(
HINSTANCE hInstance,      //进程实例句柄  
LPCTSTR lpTemplateName,   //对话框模板文件名或资源ID
HWND hWndParent,          //父窗口句柄
DLGPROC lpDialogFunc,     //对话框消息处理函数指针
PARAM dwInitParam);       //初始化参数,可为空

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-10 09:16
JackRap
Rank: 2
等 级:论坛游民
帖 子:14
专家分:58
注 册:2010-7-29
收藏
得分:5 
创建一个模式对话框,通常需要三步:
1、在资源文件中定义对话框模板,比如:
AddDB1 DIALOG 18,18,140,100
CAPTION "输入信息"
STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU
{
 LTEXT "请输入:", -1, 20, 20,  50, 20
 EDITTEXT      ID_EDIT1, 65, 18,  40, 14
 DEFPUSHBUTTON "确定",     IDOK, 30,70,38,20
 PUSHBUTTON    "取消", IDCANCEL, 80,70,38,20
}

2、定义对话框函数,比如:
BOOL CALLBACK AddDialog1(HWND hdwnd,UINT message,
                         WPARAM wParam,LPARAM lParam)
{
 char buf[80];
 static HWND hEd1;

 switch (message)
 {
  case WM_INITDIALOG:
     ……
     ……
         hEd1=GetDlgItem(hdwnd,ID_EDIT1);
         SetFocus(hEd1);
         return 0;

  case WM_COMMAND:
   switch (LOWORD(wParam))
   {
    case IDOK:
     ……
          GetWindowText(hEd1,buf,50);
     ……
          EndDialog(hdwnd,1);
          return 1;

    case IDCANCEL:
          EndDialog(hdwnd,0);
          return 1;
   }
 }
 return 0;
}

3、调用对话框,比如:
 switch (message)
 {
 ……
  case WM_COMMAND:
   switch (LOWORD(wParam))
   {
    case IDM_ADD:
      DialogBox(hInst,"AddDB1",hwnd,(DLGPROC)AddDialog1);
      break;
     ……
     ……


PS:程序不一定正确,但原理是这样。

2010-08-10 12:45
longren488
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2009-7-14
收藏
得分:5 
有模式对话框和无模式对话框,两种情况
2010-08-10 20:51
DongDong001
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-12
收藏
得分:0 
hao
2011-05-13 00:43
快速回复:[Win32编程]创建了一个对话框资源,如何来显示它?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021824 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved