我最近开始研究 WinAPI。在浏览了大约十个关于它的教程的热门搜索结果之后,我仍然感到困惑,你在哪里为每个窗口添加多个控件的代码?例如,如果我想添加第二个按钮,需要什么样的代码以及将代码放在哪里?
当我#define IDC_BUTTON WM_USER + 1
,添加HINSTANCE hIns;
和HWND hButton;
回调,然后调用这个:
case WM_CREATE:
hIns=((LPCREATESTRUCT)lParam)->hInstance;
hButton=CreateWindow("Button","Click Me",WS_CHILD|WS_VISIBLE,70,60,150,30,hwnd,(HMENU)IDC_BUTTON,hIns,0);
break;
它工作,按钮出现在窗口中。但是当我尝试添加第二个时,即使更改了名称,也没有出现任何内容:
#define IDC_BUTTON2 WM_USER + 2
+
HINSTANCE hIns;
HWND hButton2;
case WM_CREATE:
hIns=((LPCREATESTRUCT)lParam)->hInstance;
hButton=CreateWindow("Button","Click Me",WS_CHILD|WS_VISIBLE,70,60,150,30,hwnd,(HMENU)IDC_BUTTON,hIns,0);
hButton2=CreateWindow("Second","Press here",WS_CHILD|WS_VISIBLE,170,160,250,130,hwnd,(HMENU)IDC_BUTTON2,hIns,0);
break;
第一个按钮显示正常,但第二个按钮不正常(坐标也不同)。我在这里做错了什么?谢谢!
编辑:我替换hIns2
了hIns
代码中的。