码迷,mamicode.com
首页 > Windows程序 > 详细

NativeWindow_02_DialogBoxParam_VC6

时间:2016-02-26 00:32:25      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

ZC: 与CreateWindow(Ex)相比,优点在于:(1)、窗口内容所见即所得,(2)、写一个基本窗口所用的代码比CreateWindow(Ex)少,(3)、比MFC程序的代码少多了

PS: 代码参考于<<Windows环境下32位汇编语言程序设计.chm>>,第5章,"5.4 对 话 框(2)" 。

 

1、

创建"Win32 Application"的空工程

 

PS: 下面的3个文件(WinMain_z.cpp,DialogMain.rc,resource.h),直接复制到工程目录,然后添加到工程,即可。一个简单的窗口测试程序就OK了。

 

2、

创建源码文件 WinMain_z.cpp,键入如下代码:

 1 #include <windows.h>
 2 
 3 #include "resource.h"
 4 
 5 HINSTANCE g_hInstance = 0;
 6 
 7 BOOL CALLBACK ProcDialog(
 8         HWND _hWnd, // 窗口句柄
 9         UINT _uMsg, // 消息ID(identifier)
10         WPARAM _wParam,
11         LPARAM _lParam)
12 {
13     if (WM_CLOSE == _uMsg)
14     {
15         EndDialog(_hWnd,NULL);
16     }
17     else if (WM_INITDIALOG == _uMsg)
18     {
19         //HICON hIcon = LoadIcon(g_hInstance, ICO_MAIN);
20         //SendMessage(_hWnd, WM_SETICON, ICON_BIG, hIcon);
21     }
22     else if (WM_COMMAND == _uMsg)
23     {
24         WORD wLow = LOWORD(_wParam);
25         if (IDOK == wLow)
26         {
27             EndDialog(_hWnd, NULL);
28         }
29     }
30     else
31     {
32         return false;
33     }
34     return true;
35 }
36 
37 int WINAPI WinMain(
38         HINSTANCE _hInstance,        // 当前 hInstance句柄
39         HINSTANCE _hPrevInstance,    // 之前的 hInstance句柄
40         LPSTR _lpCmdLine,            // 命令行
41         int _nCmdShow)                // 显示状态
42 {
43     g_hInstance = _hInstance;
44 
45     DialogBoxParam(_hInstance, (char*)IDD_DIALOG_MAIN, NULL, ProcDialog, NULL);
46     ExitProcess(NULL);
47 }

 

3、

资源文件:

3.1、DialogMain.rc

 1 //Microsoft Developer Studio generated resource script.
 2 //
 3 #include "resource.h"
 4 
 5 #define APSTUDIO_READONLY_SYMBOLS
 6 /////////////////////////////////////////////////////////////////////////////
 7 //
 8 // Generated from the TEXTINCLUDE 2 resource.
 9 //
10 #include "afxres.h"
11 
12 /////////////////////////////////////////////////////////////////////////////
13 #undef APSTUDIO_READONLY_SYMBOLS
14 
15 /////////////////////////////////////////////////////////////////////////////
16 // Chinese (中国) resources
17 
18 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
19 #ifdef _WIN32
20 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
21 #pragma code_page(936)
22 #endif //_WIN32
23 
24 /////////////////////////////////////////////////////////////////////////////
25 //
26 // Dialog
27 //
28 
29 IDD_DIALOG_MAIN DIALOG DISCARDABLE  100, 100, 300, 150
30 STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | 
31     WS_CAPTION | WS_SYSMENU
32 CAPTION "主对话框"
33 FONT 10, "System"
34 BEGIN
35     DEFPUSHBUTTON   "确定",IDOK,243,6,50,14
36 END
37 
38 
39 /////////////////////////////////////////////////////////////////////////////
40 //
41 // DESIGNINFO
42 //
43 
44 #ifdef APSTUDIO_INVOKED
45 GUIDELINES DESIGNINFO DISCARDABLE 
46 BEGIN
47     IDD_DIALOG_MAIN, DIALOG
48     BEGIN
49         LEFTMARGIN, 7
50         RIGHTMARGIN, 293
51         TOPMARGIN, 6
52         BOTTOMMARGIN, 143
53     END
54 END
55 #endif    // APSTUDIO_INVOKED
56 
57 
58 #ifdef APSTUDIO_INVOKED
59 /////////////////////////////////////////////////////////////////////////////
60 //
61 // TEXTINCLUDE
62 //
63 
64 1 TEXTINCLUDE DISCARDABLE 
65 BEGIN
66     "resource.h\0"
67 END
68 
69 2 TEXTINCLUDE DISCARDABLE 
70 BEGIN
71     "#include ""afxres.h""\r\n"
72     "\0"
73 END
74 
75 3 TEXTINCLUDE DISCARDABLE 
76 BEGIN
77     "\r\n"
78     "\0"
79 END
80 
81 #endif    // APSTUDIO_INVOKED
82 
83 #endif    // Chinese (中国) resources
84 /////////////////////////////////////////////////////////////////////////////
85 
86 
87 
88 #ifndef APSTUDIO_INVOKED
89 /////////////////////////////////////////////////////////////////////////////
90 //
91 // Generated from the TEXTINCLUDE 3 resource.
92 //
93 
94 
95 /////////////////////////////////////////////////////////////////////////////
96 #endif    // not APSTUDIO_INVOKED

 

3.2、resource.h

 1 //{{NO_DEPENDENCIES}}
 2 // Microsoft Developer Studio generated include file.
 3 // Used by DialogMain.rc
 4 //
 5 #define IDD_DIALOG_MAIN                 101
 6 
 7 // Next default values for new objects
 8 // 
 9 #ifdef APSTUDIO_INVOKED
10 #ifndef APSTUDIO_READONLY_SYMBOLS
11 #define _APS_NEXT_RESOURCE_VALUE        102
12 #define _APS_NEXT_COMMAND_VALUE         40001
13 #define _APS_NEXT_CONTROL_VALUE         1000
14 #define _APS_NEXT_SYMED_VALUE           101
15 #endif
16 #endif

 

 

 

X

 

NativeWindow_02_DialogBoxParam_VC6

标签:

原文地址:http://www.cnblogs.com/CodeSkill/p/5218755.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!