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; }
展开
1个回答
展开全部
1、按钮自己有自己的绘制方法,不需要你在WM_PAINT里面搞。如果你在WM_PAINT里面弄,每次窗口刷新都会创建一个新的按钮……这显然不是你要的
2、因为按钮有自己的绘制方法,所以如果你不需要按钮了,应该隐藏它或者销毁它。不然你游戏绘制的过程中它还会时不时闪出来两下
3、还是因为按钮有自己的绘制方法,所以如果你需要按钮了,只要不隐藏它(之前如果隐藏这下就让它显示,之前如果是销毁现在就重新创建),它就能正常出来
4、WM_PAINT里面,怎么说呢,除非你很清楚地知道你在干什么,不然一般来说不要在里面放多余的代码(程序逻辑啊对象创建销毁啊之类之类
2、因为按钮有自己的绘制方法,所以如果你不需要按钮了,应该隐藏它或者销毁它。不然你游戏绘制的过程中它还会时不时闪出来两下
3、还是因为按钮有自己的绘制方法,所以如果你需要按钮了,只要不隐藏它(之前如果隐藏这下就让它显示,之前如果是销毁现在就重新创建),它就能正常出来
4、WM_PAINT里面,怎么说呢,除非你很清楚地知道你在干什么,不然一般来说不要在里面放多余的代码(程序逻辑啊对象创建销毁啊之类之类
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询