当前位置: 首页 > >

windows API程序设计入门(简单练*)

发布时间:

windows API程序设计入门(简单练*)



目录
windows API程序设计入门(简单练*)窗口过程函数用绘图工具输出输出hello world!
定义窗口主函数设计窗口类注册窗口类创建窗口显示窗口更新窗口消息循环
总结


窗口过程函数


#include
LRESULT CALLBACK windowProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{

用绘图工具输出输出hello world!

PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
TCHAR * p = L"Hello World!";
TextOutW(hdc, 0, 0, p, wcslen(p));
EndPaint(hWnd, &ps);
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}

定义窗口主函数

int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
) {

设计窗口类

WNDCLASS wc;
wc.cbClsExtra = 0; //类的附加信息
wc.cbWndExtra = 0; //窗口附加信息
wc.hbrBackground = CreateSolidBrush(RGB(255, 255, 255)); //背景
wc.hCursor = LoadCursor(NULL, IDC_HAND); //加载系统默认光标
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //加载系统默认图标
wc.hInstance = hInstance; //传递给MyRegisterClass的hInstance参数值
wc.lpfnWndProc = windowProc; //窗口过程函数名字,消息处理函数
wc.lpszClassName = TEXT("temp_text"); //类的名字
wc.lpszMenuName = NULL; //菜单名字
wc.style = CS_HREDRAW | CS_VREDRAW;; //显示风格

注册窗口类

RegisterClass(&wc);

创建窗口

HWND hwnd = CreateWindow(
"temp_text", //类名
"window_name", //标题
WS_OVERLAPPEDWINDOW, //外观样式
400, //x坐标
400, //y坐标
400, //宽度
500, //高度
NULL, //父窗口句柄
NULL, //菜单句柄
hInstance, //应用程序的实例句柄
NULL); //附加数据

显示窗口

ShowWindow(hwnd, SW_SHOWNORMAL);

更新窗口

UpdateWindow(hwnd);

消息循环

MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

效果如下:


完!


总结

勤能补拙



友情链接: