问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用C++编程创建一个窗体

发布网友 发布时间:2022-07-13 03:44

我来回答

1个回答

热心网友 时间:2023-10-23 05:27

1.C++ 代码创建窗体,代码如下: #include HWND HMainwnd = NULL; //窗体句柄 int run(); //消息循环函数 bool InitWindowsApp(HINSTANCE instanceHandle, int show); //窗体初始化函数 LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp);//窗体处理回调函数 //main函数 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { if(!InitWindowsApp(hInstance, nShowCmd))//判断窗体初始化是否成功 { return 0; } run(); //初始化成功后循环接收消息 return 0; } bool InitWindowsApp(HINSTANCE stanceHandle, int show) { WNDCLASS wc; //窗体类结构体 wc.style = CS_HREDRAW | CS_VREDRAW; //窗体风格 wc.lpfnWndProc = WndProc; //窗体处理函数 wc.cbClsExtra = 0; //窗体类是否由扩展 wc.cbWndExtra = 0; //窗体实例是否由扩展 wc.hInstance = stanceHandle; //窗体句柄 wc.hIcon = LoadIcon(0, IDI_APPLICATION); //窗体图标 wc.hCursor = LoadCursor(NULL, IDC_ARROW); //窗体鼠标样式 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //窗体背景颜色 wc.lpszMenuName = NULL; //窗体菜单 wc.lpszClassName = "BaseWndClass"; //窗体类名 if(!RegisterClass(&wc)) //判断窗体是否注册成功 { MessageBox(0, "注册失败", 0, 0); return false; } //创建窗体 HMainwnd = CreateWindow("BaseWndClass", //窗体类名 "MyFrom", //窗体标题名 WS_OVERLAPPEDWINDOW, //窗体风格 CW_USEDEFAULT, CW_USEDEFAULT, //窗体坐标 CW_USEDEFAULT, CW_USEDEFAULT, //窗体坐标 NULL, //窗体的父窗体 NULL, //窗体的子菜单 stanceHandle, //窗体句柄 NULL); // 如果函数成功,返回值为新窗口的句柄:如果函数失败,返回值为NULL if(HMainwnd == 0)//判断创建窗体是否成功 { MessageBox(0, "创建窗体失败", 0, 0); return false; } ShowWindow(HMainwnd, SW_SHOW); //显示窗体 UpdateWindow(HMainwnd); //绘制窗体; return true; } LRESULT CALLBACK WndProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp) { switch(msg)//判断消息的种类 { case WM_LBUTTONDOWN: //左键单击 MessageBox(0, "Hello World", "myMbox", MB_OK); return 0; case WM_KEYDOWN: //键盘消息 if(wp == VK_ESCAPE) //ESC键 DestroyWindow(HMainwnd); //销毁窗体 return 0; case WM_DESTROY: PostQuitMessage(0); //终止消息 return 0; } return DefWindowProc(wnd, msg, wp, lp); //返回缺省消息函数 } int run() { MSG msg = {0}; //消息结构 BOOL bRet = 1; //获取消息 while( (bRet = GetMessage(&msg, 0, 0, 0)) != 0)//消息循环 { if(bRet == -1)//判断消息是否接收失败 { MessageBox(0, "接受消息失败", 0, 0); break; } else { TranslateMessage(&msg); //转换消息为字符消息 DispatchMessage(&msg); //发送消息给窗口 } } return (int)msg.wParam;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
流量保险是什么 会计的基本常识是什么 我奶奶这几天总是拉肚子,而且只能躺着一站起来眼睛就发黑,医生说她贫血... win7c盘里找不到users,用户里也没有c:usersadministrator... C盘里没有users文件夹 pvc天然气管能用多久 PVC天然气管的寿命是多久?  请教大神这怎么搞?天然气排烟管怎么弄? ...时不用在手机确认电脑登陆微信如何不用手机确认 急性胰腺炎护理 急性胰腺炎非手术治疗的护理措施 (高分)求vb RegisterClassEx注册窗口类的代码,急急急 if(!RegisterClassEx(&wc))这是什么意思? C语言windows程序设计 RegisterClassEx注册失败?不知道什么原因导致一直失败?找不到错在哪里 在C++注册窗口类的时候,为什么RegisterClass总是为0 if (!RegisterClass (&wndclass))这句是什么意思? Aregisterclass怎么用啊, 比如WNDCLASS wndclass; 在注册时是 registerclass(&wndclass)? 做梦抓到很多甲鱼是什么意思 任嘉伦的《周生如故》(原名:《长安如故》)会爆吗? 大家都来说说自己的gpdwin跑分有多高 江西环境工程职业学院单考英语吗 安装打印机说windowsxp上的stdnames.gpd文件不存在,怎麽办? 江西环境工程单招录取率 江西环境工程职业学院2022年单招人数 单招江西环境工程100%能过吗 江西环境工程职业学院单招录取率 我是内科大的2012届学环境工程新生,请问这个专业怎么样,女生多不多,宿舍在哪里,怎么样? 洛阳理工学院环境工程与化学系女生多吗 大学里学环境工程的女一般有多少? 我读环境工程,香港的那所大学最好 香港教育大学排铭好吗? 想开个生产汽车用品的公司,主要是生产防冻液、洗车液、玻璃水、轮胎腊等养护品。请教下起个什么名字才好 六月二十七号种玉米晚吗? 玉米最晚什么时候种 斯坦福大学环境工程怎么样? 芝加哥大学有视觉传达设计吗 美国加州旧金山到宾州的匹兹堡有多远,有直飞吗 白米露怎么煮多久才熟? 韩国汗蒸喝的甜米露做法 怀孕可以每天吃火锅吗 环境工程专业型硕士和学术性的差别 我想问下就环境工程这个专业 专业硕士和学术硕士有什么区别 含金量有没有不同 或者体现在其他方面 ? 环境工程考研是专业硕士好还是学术型好?学费能差多少? 企业改制应交税的规定是什么 环境工程专业学校排名?给个依据,谢谢了。不知道考哪个学校的研究生 现在有维修电脑的职业吗 河北省专接本有环境工程这个专业吗 河北工业专接本有哪些科目,我是环境工程专业,专接本需要准备什么啊?想接到河北工业大学。 河北环境工程学院是河北省唯一一所招收环境类专接本的院校 你好,问一下石家庄经济学院环境工程专业专接本好接吗?需要考哪些专业课和分数线是多少啊? 你认为环境科学和环境工程哪个专业更好?