[win32API] 如何使用资源编辑器直接在主窗口上画控件。
[win32API] 如何使用资源编辑器直接在主窗口上画控件。
(以下教程适用于vs2010旗舰版)
实际上这是不可能的,因为资源编辑器编辑的窗口只能是对话框,主窗口是不能编辑的,但我们可以使用对话框来代替主窗口,从而假装实现对主窗口的编辑。有两种方法。
- 直接创建一个对话框,不要主窗口
- 创建一个空项目。
- 右键源文件,点击添加,点击新建项。
- 新建一个c文件(cpp也行)
- 新建一个rc(资源)文件,同时程序会自动创建一个resource.h文件。
- 添加资源
- 新建一个对话框资源
- 点击刚才新建的对话框,更改对话框的ID为IDD_MAIN。
- 在main.c文件中写下如下代码
#include <windows.h> #include "resource.h"
int CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) { DialogBox(hInstance,MAKEINTRESOURCE(IDD_MAIN),NULL,WinProc); return 0; }
int CALLBACK WinProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam) { int iReturn=TRUE;
switch(message) { case WM_INITDIALOG: break; default: iReturn=FALSE; return DefWindowProc(hWnd,message,wParam,lParam); }
return iReturn; } |
- 使用没有边框的对话框代替主窗口的客户区。
- 不想写了,回来再写。