您的位置:首页 > 其它

window程序设计笔记 我的第一个程序详解

2011-03-31 09:26 267 查看
#include "windows.h"//window头文件
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//回调函数
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
static TCHAR szappname[]=TEXT("hello word");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
//设计窗口
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//设置背景颜色
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//设置光标
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//设置图标
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WndProc;//设置回调函数
wndclass.lpszClassName=szappname;//设置类名
wndclass.lpszMenuName=NULL;//设置菜单名
wndclass.style=CS_HREDRAW|CS_VREDRAW;//设置窗口样式是水平重画和垂直重画
//注册窗口
if (!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("this program is not start!"),szappname,MB_ICONERROR);
return 0;
}
//创建窗口
hwnd=CreateWindow(szappname,//类名
TEXT("this is my first program"),//窗口名称
WS_OVERLAPPEDWINDOW,//窗口样式<==>WS_OVERLAPPED||WS_CAPTION||WS_SYSMENU||WS_THICKFRANE||WS_MINIMIZEBOX||WS_MAXIMIZEBOX
CW_USEDEFAULT,//初始化x的位置
CW_USEDEFAULT,//初始化y的位置
CW_USEDEFAULT,//初始化x的大小
CW_USEDEFAULT,//初始化y的大小
NULL,//父窗口句柄
NULL,//菜单句柄
hInstance,//实例句柄
NULL//创建的参数
);
//显示窗口
ShowWindow(hwnd,nShowCmd);
//更新窗口
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0))//从消息队列中取消息
{
TranslateMessage(&msg);//转译某些键盘消息
DispatchMessage(&msg);//将消息发送给窗口消息处理程序
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch (message)
{
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
//在BeginPaint和EndPaint之间绘图
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("hello word"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
//窗口退出
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,message,wparam,lparam);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: