窗体程序入门"/>
C++ Windows 窗体程序入门
〇、前言——
没错,我又回来啦,之前因为学业在小黑屋里关了一个学期,工作日与世隔绝+周末有一点想鸽,就拖了半年
好了,废话不多说,上正文:
一、复习——
我们现在学到:1、环境配置(windowsAPI这磨人的小妖精)
2、窗口类
3、创建窗口
没错,就只有这些,先把整合过的代码放一下
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
{// 注册窗口类WNDCLASSEXA Winc = { NULL };Winc.cbSize = sizeof(Winc);Winc.style = CS_OWNDC;Winc.lpfnWndProc = MessageSetup;Winc.cbClsExtra = 0;Winc.cbWndExtra = 0;Winc.hInstance = hInstance;Winc.hIcon = nullptr;Winc.hCursor = nullptr;Winc.hbrBackground = nullptr;Winc.lpszMenuName = nullptr;Winc.lpszClassName = "wind2067 is handsome";RegisterClassExA(&Winc);// 创建窗口HWND hWnd = CreateWindowA("wind2067 is handsome","Subscribe!!!",WS_SYSMENU,CW_USEDEFAULT, CW_USEDEFAULT,1000, 618, // 只显示标题不大好,我把大小调了一下nullptr, nullptr,hInstance,nullptr);// 显示窗口ShowWindow(hWnd, SW_SHOWDEFAULT);
}
其实上章所说:“就这样,点击编译,你就可以看到一个白白嫩嫩的窗口啦~~~”不大准确,不熟悉流程的各位同学门肯定内心数万只mmp飞过,因为:
Winc.lpfnWndProc = MessageSetup;
↑↑↑
这玩意还没搞定呢,所以~今天我们来讲——消息循环与处理
二、消息处理函数
窗口类需要的消息处理函数框架长这样:
typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
· 翻译
数据类型:LRESLUT(LongRESULT), 追根究底就是long (他们为什么老喜欢搞这种代称???)
额外:CALLBACK,回调(解释太长了,跳转到附注的回调函数),定义为__stdcall(有两根_)
参数-HWND:窗口句柄
-UINT:(Unsigned INT),无符号整型
-WPARAM:(WORD PARAM[
更多推荐
C++ Windows 窗体程序入门
发布评论