太原找工作网站,怎么把qq空间做成企业网站,wordpress连接域名,简述网站建设一般流程1.建立一个窗口的基本步骤
#xff08;1#xff09;向系统注册一个窗体类 #xff08;2#xff09;根据窗体类创建窗口 #xff08;3#xff09;进入消息循环 2.程序结构
(1)主函数的输入参数
int WINAPI WinMain(
HISTANCE hInstance,//当前窗口的句柄
HINSTANCE hPr…1.建立一个窗口的基本步骤
1向系统注册一个窗体类 2根据窗体类创建窗口 3进入消息循环 2.程序结构
(1)主函数的输入参数
int WINAPI WinMain(
HISTANCE hInstance,//当前窗口的句柄
HINSTANCE hPrevInstance,//为了兼容早期的16位系统保留下来的填NULL
LPSTR lpCmdLine, //传入的命令行参数
int nShowCmd//控制窗口如何显示)(2) 窗口类
Typedef struct tagWNDCLASSA
{
UINT style;//设置窗口格式
WNDPROC lpfnWndProc;//窗口的回调函数也就是窗口接收到消息后交给哪个函数处理函数的功能一般是处理消息
Int cbClsExtra;//为类额外分配内存一般为0
Int cbWndExtra;//为窗口额外分配内存一般为0
HINSTANCE hInstance;//程序实例这里就用到了WinMain函数的每一个参数hInstance
HICON hIcon;//设置程序图标
HCURSOR hCursor;//设置鼠标光标
HBRUSH hbrBackground;//设置界面背景色
LPCSTR lpszMenuName;//设置菜单名称LPCSTR表示一个指向宽字符串的指针
LPCSTR lpszClassName;//设置类名称
}WNDCLASSA,*PWNDCLASSA,*NPWNDCLASSA,*LPWNDCLASSA;(3) 回调函数
LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg,WPARAM wParam,LPARAM lParam)3.核心机制进入消循环
MSG msg;
While(GetMessage(msg,NULL,0,0))//如果消息不是WM_QUIT,返回非零值如果消息是WM_QUIT返回零
{
TranslateMessage(msg);//翻译消息如果WM_KEYDOWN和WM_KEYUP翻译成一个WM_CHAR消息
DispatchMessage(msg);//派发消息
}4. 完整代码
#includeWindows.h
LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{switch (uMsg)//通过判断消息进行消息响应{case WM_CLOSE:DestroyWindow(hwnd);//销毁窗口并发送WM_DESTROY消息但是程序没有退出break;case WM_DESTROY:PostQuitMessage(0);//发出WM_QUIT消息结束消息循环break;default:return DefWindowProc(hwnd, uMsg, wParam, lParam);//对不感兴趣的消息进行缺省处理必须有该代码否则程序有问题}return 0;
}int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) {WNDCLASS wndcls; //创建一个窗体类wndcls.cbClsExtra 0;//类的额外内存默认为0即可wndcls.cbWndExtra 0;//窗口的额外内存默认为0即可wndcls.hbrBackground (HBRUSH)GetStockObject(WHITE_BRUSH);//获取画刷句柄将返回的HGDIOBJ进行强制类型转换wndcls.hCursor LoadCursor(NULL, IDC_CROSS);//设置光标wndcls.hIcon LoadIcon(NULL, IDI_ERROR);//设置窗体左上角的图标wndcls.hInstance hInstance;//设置窗体所属的应用程序实例wndcls.lpfnWndProc WinSunProc;//设置窗体的回调函数暂时没写先设置为NULL后面补上wndcls.lpszClassName Ltest;//设置窗体的类名wndcls.lpszMenuName NULL;//设置窗体的菜单,没有填NULLwndcls.style CS_HREDRAW | CS_VREDRAW;//设置窗体风格为水平重画和垂直重画RegisterClass(wndcls);//向操作系统注册窗体//产生一个窗体并返回该窗体的句柄第一个参数必须为要创建的窗体的类名第二个参数为窗体标题名HWND hwnd CreateWindow(Ltest, L我的第一个窗口,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,NULL, NULL, hInstance, NULL);ShowWindow(hwnd, SW_SHOWNORMAL);//把窗体显示出来UpdateWindow(hwnd);//更新窗体MSG msg;//消息循环while (GetMessage(msg, NULL, 0, 0))//如果消息不是WM_QUIT,返回非零值如果消息是WM_QUIT返回零{TranslateMessage(msg);//翻译消息如把WM_KEYDOWN和WM_KEYUP翻译成一个WM_CHAR消息DispatchMessage(msg);//派发消息}
}