鱼C论坛

 找回密码
 立即注册
查看: 5978|回复: 15

[技术交流] 在VC++6.0中自己建立Dialog工程吧!

[复制链接]
发表于 2011-10-7 18:49:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Y.H 于 2011-10-7 19:18 编辑

嗯 ,  刚学会的,本来是在别的网站看到的,我还在想要不要说明算不算只转载的.....但,经过我一想,既然我学会了,那就算是我的了.

开始
第一步:
"文件"------>"新建"-------> "Win32 Application"工程------->"名字随便"------>"一个简单的Win32程序"

第二部:
接着  "文件"------>"新建"-------> 注意::是"文件"选项,不是"工程选项"了---------->"脚本资源"----------->名字"resource.rc"

                               
登录/注册后可看大图



第三步:如图:
选中中间那个框中的"resource.rc"文件夹图标,然后鼠标"右键"------>"插入"-------->然后选择"Dialog"
------->"新建"

                               
登录/注册后可看大图

                               
登录/注册后可看大图





第四步:
切换到"File View"视图----->"Source File"------->打开我们建立的"名字随便.cpp"------>里面有个"APIENTRY WinMain"函数.

                               
登录/注册后可看大图







第五步:
在int APIENTRY WinMain()函数的花括号中的第一行插入以下代码:
  1. DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);//注意这里面有个IDD_MAIN
复制代码

//注意这里面有个IDD_MAIN, 我们需要到"ResourceView"视图中的"Dialog"下面的资源框选中它鼠标右键"属性"--->"资源"---->"ID"改为IDD_MAIN相同就可以了

                               
登录/注册后可看大图



第六步:
在我们的"名字随便.cpp"中的int APIENTRY WinMain()函数的上方声明一下以下四个函数
  1. BOOL WINAPI Main_Proc(HWND hWnd,
  2.                       UINT uMsg,
  3.                       WPARAM wParam,
  4.                       LPARAM lParam);

  5. BOOL Main_OnInitDialog(HWND hwnd,
  6.                        HWND hwndFocus,
  7.                        LPARAM lParam);

  8. void Main_OnCommand(HWND hwnd,
  9.                     int id,
  10.                     HWND hwndCtl,
  11.                     UINT codeNotify);

  12. void Main_OnClose(HWND hwnd);
复制代码
然后接着在WinMain函数后面定义这四个函数:
  1. BOOL WINAPI Main_Proc(HWND hWnd,
  2.                       UINT uMsg,
  3.                       WPARAM wParam,
  4.                       LPARAM lParam)
  5. {
  6.         switch(uMsg)
  7.         {
  8.                 HANDLE_MSG(hWnd,
  9.                         WM_INITDIALOG,
  10.                         Main_OnInitDialog);
  11.                
  12.                 HANDLE_MSG(hWnd,
  13.                         WM_COMMAND,
  14.                         Main_OnCommand);
  15.                
  16.                 HANDLE_MSG(hWnd,
  17.                         WM_CLOSE,
  18.                         Main_OnClose);
  19.         }
  20.         return FALSE;
  21. }



  22. BOOL Main_OnInitDialog(HWND hwnd,
  23.                        HWND hwndFocus,
  24.                        LPARAM lParam)
  25. {
  26.         return TRUE;
  27. }


  28. void Main_OnCommand(HWND hwnd,
  29.                     int id,
  30.                     HWND hwndCtl,
  31.                     UINT codeNotify)
  32. {
  33.         switch(id)
  34.         {
  35.         case IDOK :
  36.                 {
  37.                          //可以在这里填写代码                     
  38.                 }
  39.                 break;
  40.                
  41.         default :
  42.                 break;
  43.         }
  44. }



  45. void Main_OnClose(HWND hwnd)
  46. {
  47.         EndDialog(hwnd, 0);
  48. }
复制代码




第七步:
记得要在前面包含几个头文件:
  1. #include "stdafx.h"
  2. #include "resource.h"
  3. #include <windowsx.h>
复制代码

然后咱们编译一下:
OK 运行通过..

                               
登录/注册后可看大图



如果中间因为个人疏忽,少了什么,还望各位大大,纠正纠正.






想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-7 20:17:06 | 显示全部楼层
这个Dialog会不会按ESC键就退出了呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-7 20:24:09 | 显示全部楼层
yipwing 发表于 2011-10-7 20:17
这个Dialog会不会按ESC键就退出了呢?

不会啊!
你是要一按ESC就推出的????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-7 20:28:15 | 显示全部楼层
本帖最后由 yipwing 于 2011-10-7 20:28 编辑
Y.H 发表于 2011-10-7 20:24
不会啊!
你是要一按ESC就推出的????

不是我只是问问,因为MFC创建的DIALOG按ESC键会退出。。

用API写的按ESC,不会退出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-7 20:29:45 | 显示全部楼层
貌似你弄了这个没多少人看呢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-7 20:30:43 | 显示全部楼层
呵呵,没关系嘛........只是我觉得帮的到人,,,,就一兴奋就发上来了......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-7 20:33:02 | 显示全部楼层
Y.H 发表于 2011-10-7 20:30
呵呵,没关系嘛........只是我觉得帮的到人,,,,就一兴奋就发上来了......

改天我发个vs2010版本的。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-7 20:47:27 | 显示全部楼层
嗯嗯,,,,现在很多人都用2010的了.........
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-7 20:50:37 | 显示全部楼层
yipwing 发表于 2011-10-7 20:33
改天我发个vs2010版本的。。

支持你............
{:2_27:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-7 20:50:57 | 显示全部楼层
Y.H 发表于 2011-10-7 20:47
嗯嗯,,,,现在很多人都用2010的了.........

那你会用么
2010和2008差不了多少。。

Win7和2010是不错的组合。。

我不喜欢VC6的编译器。。貌似会不支持 新标准的C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-7 20:58:47 | 显示全部楼层
yipwing 发表于 2011-10-7 20:50
那你会用么
2010和2008差不了多少。。

我今天才把2008稍微熟悉了一点......2010对我来说是个高科技.......而且用win7我的机子速度会减慢......总死机.


呵呵,我们这样聊算不算是灌水刷积分和鱼币?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-7 21:06:01 | 显示全部楼层
貌似是的呢。。
明天睡醒就来发个2010创建Dialog程序的。。。

LZ你要注意的是DialogBox和CreateDialog返回值是不同的。。
前者返回值是int类型后者是返回句柄。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-7 23:12:57 | 显示全部楼层
学习了,我要抓紧了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-8 09:38:08 | 显示全部楼层
昨晚搜索看了好久,终于了解一点点,就是学习完象C这类语言后,要搞些windows能用的可视化窗口的程序,需要利用WIDOWS API编程.   这样我也有方向了,难怪我看C,每天学习,老是想这些黑黑的窗口,怎么跟windows对接,我学完小甲鱼的视频后,我也要学API了.是这样吧,两位大大.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-8 10:59:05 | 显示全部楼层
ZPCG 发表于 2011-10-8 09:38
昨晚搜索看了好久,终于了解一点点,就是学习完象C这类语言后,要搞些windows能用的可视化窗口的程序,需要利用 ...

要去熟悉下C++ 不过学完C已经可以去直接用API写Windows程序了。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-8 22:14:49 | 显示全部楼层
大力支持一下!~不错的东西!~vc6就很好用,只是现在微软的操作系统XP不是很好,win7不错可惜不支持vc6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 09:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表