Win32开发入门(14):用对话框作为主窗口Win32开发入门(14):用对话框作为主窗口
Win32开发入门(14):用对话框作为主窗口
前面我们在编写Win32应用程序的思路都是:
1、设计窗口类。2、注册窗口类。3、创建窗口 。……
然而,当我们接触控件以后, 会发现一个问题,我们在窗口上放置控件实在不好弄,而 资源中的对话框具有图形编辑器,操作起来相对方便。
于是,就有了一个想法:把对话框用作 主窗口,那我们在布局控件时就轻松了。
其实这想法在网上已有牛人做了,不过,人家是用 Win32汇编干的,当然,要把它变为C++就更简单了。
首先,介绍第一个...
Win32开发入门(14):用对话框作为主窗口
Win32开发入门(14):用对话框作为主窗口
前面我们在编写Win32应用程序的思路都是:
1、设计窗口类。2、注册窗口类。3、创建窗口 。……
然而,当我们接触控件以后, 会发现一个问
,我们在窗口上放置控件实在不好弄,而 资源中的对话框具有图形编辑器,操作起来相对方便。
于是,就有了一个想法:把对话框用作 主窗口,那我们在布局控件时就轻松了。
其实这想法在网上已有牛人做了,不过,人家是用 Win32汇编干的,当然,要把它变为C++就更简单了。
首先,介绍第一个法子,直接以桌面作为 父窗口来创建对话框。
1、创建一个对话框资源,界面就发挥你的设计天赋了。
2、创建 一个图标资源,既作为应用程序的图标(VS编译时会选择第一个添加到资源中的图标作为EXE的图标) ,也作为对话框的图标。
3、在代码中创建并显示对话框。
#include
#include "resource.h"
// 开启可视化效果
#pragma comment(linker,"\"/manifestdependency:type='win32' \ name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \ processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
INT_PTR CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
HINSTANCE hgInst;
int WINAPI WinMain(HINSTANCE hThisApp, HINSTANCE hPrevApp, LPSTR lpCmd, int nShow)
{
hgInst = hThisApp;
HWND hdlg = CreateDialog(hThisApp, MAKEINTRESOURCE(IDD_MY),GetDesktopWindow(),
(DLGPROC)DlgProc);
if(!hdlg)
{
return 0;
}
ShowWindow(hdlg,SW_SHOW);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
INT_PTR CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_INITDIALOG:
// 设置对话框的图标
SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon(hgInst,
MAKEINTRESOURCE(IDI_APP)));
return 0;
case WM_SYSCOMMAND:
if(wParam == SC_CLOSE)
{
PostQuitMessage(0 );//退出
}
return 0;
}
return (INT_PTR)FALSE;
}
本文档为【Win32开发入门(14):用对话框作为主窗口】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。