C语言用windows.h创建按钮的问题

做了一个贪吃蛇的小游戏是程序初始进入的时候在界面上用在WM_PAINT里用CreatWindow做了一个按钮,当游戏结束的时候想重新返回这个界面,可是按钮却显示不出来?就... 做了一个贪吃蛇的小游戏是程序初始进入的时候在界面上用 在 WM_PAINT 里 用 CreatWindow 做了一个按钮,当游戏结束的时候想重新返回这个界面,可是按钮却显示不出来? 就是想问怎么才能返回界面时显示出创建的按钮 ShowWindow(hWnd, iCmdShow); UpdateWindow(hWnd); LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; static int cxChar, cyChar; static HWND hwndButton[10]; switch (message) { case WM_CREATE: case WM_PAINT: if (Flag) { PrepareSnake(); SetSnakeTime(hWnd, DEFAULT); hwndButton[0] = CreateWindow( TEXT("button"), TEXT("Start"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 330, 180, cxChar , cxChar , hWnd, (HMENU)0, ((LPCREATESTRUCT)lParam)->hInstance, ID_START); return 0; } 展开
 我来答
朋玑崇绮烟
2019-02-26 · TA获得超过1114个赞
知道小有建树答主
回答量:1822
采纳率:100%
帮助的人:8.9万
展开全部
1、按钮自己有自己的绘制方法,不需要你在WM_PAINT里面搞。如果你在WM_PAINT里面弄,每次窗口刷新都会创建一个新的按钮……这显然不是你要的
2、因为按钮有自己的绘制方法,所以如果你不需要按钮了,应该隐藏它或者销毁它。不然你游戏绘制的过程中它还会时不时闪出来两下
3、还是因为按钮有自己的绘制方法,所以如果你需要按钮了,只要不隐藏它(之前如果隐藏这下就让它显示,之前如果是销毁现在就重新创建),它就能正常出来
4、WM_PAINT里面,怎么说呢,除非你很清楚地知道你在干什么,不然一般来说不要在里面放多余的代码(程序逻辑啊对象创建销毁啊之类之类
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式