VC6.0 用API创建窗体
以下是代码,仅供参考,不能直接使用
头文件.h
#include "windows.h"
#include "windowsx.h"
源文件.cpp
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int iShow) { MSG iMsg; //定义windows消息 if (!hPrevInstance && !WinInit(hInstance,iShow)) return FALSE; pWindow->SetInstance(hInstance); for(;;) { if(PeekMessage(&iMsg,NULL,0,0,PM_NOREMOVE)) { if(!GetMessage(&iMsg,NULL,0,0)) return iMsg.wParam; TranslateMessage(&iMsg); DispatchMessage(&iMsg); } else WaitMessage(); } } HWND WinInit(HINSTANCE hInstance, int iShow) { WNDCLASS wc; //定义窗口 char* szAppName = "windows api App"; //定义程序名称 char* szAppTitle = "windows api App"; //定义窗口标题 //给窗口属性赋值 wc.style = CS_HREDRAW|CS_VREDRAW; //定义窗口风格 wc.lpfnWndProc = WndProc; //消息处理 wc.cbWndExtra = 0; wc.cbClsExtra = 0; wc.hInstance = hInstance; //指定义窗口应用程序的句柄 wc.hCursor = LoadCursor(NULL,IDI_APPLICATION); wc.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)); //加载图标 wc.hbrBackground = (HBRUSH)COLOR_WINDOW; //设置窗口背景色 wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU); //设置窗口菜单 wc.lpszClassName = szAppName; //设置窗口类名 if(RegisterClass(&wc)) //注册窗口 { //建立窗口 HWND ghWnd = CreateWindow(szAppName, //注册窗口类名 szAppTitle, //设置窗口标题 WS_OVERLAPPEDWINDOW, //设置窗口风格 0, //设置窗口x坐标 0, //设置窗口y坐标 300, //设置窗口宽度 200, //设置窗口高度 NULL, //父窗口句柄 NULL, //菜单句柄 hInstance, //程序实例句柄 &iShow); ShowWindow(ghWnd,iShow); //显示窗口 return ghWnd; } else { return 0; } } LRESULT CALLBACK WndProc(HWND hWnd,UINT iMsg,WPARAM wParam,LPARAM lParam) { switch(iMsg) { case WM_CLOSE: case WM_DESTROY: default: return DefWindowProc(hWnd,iMsg,wParam,lParam); } return false; }