gpt4 book ai didi

C++多窗口程序 - 在第二个窗口上创建按钮

转载 作者:太空宇宙 更新时间:2023-11-04 14:07:10 24 4
gpt4 key购买 nike

所以我找到了一些多窗口教程/类(class),但似乎没有一个涉及我的问题。

我试图在第二个窗口而不是另一个窗口上创建一个按钮。

这是我的代码(不包括不必要的东西)

HWND hWindow1;
HWND hWindow2;
HINSTANCE hInstGlobal;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
...WindowClass / RegisterClass...

//HWND hWindow1;
hWindow1 = CreateWindow("WinProg", "Window_1", WS_OVERLAPPEDWINDOW,
0, 0, 800, 600, NULL, NULL, hInstance, NULL);

//HWND hWindow2;
hWindow2 = CreateWindow("WinProg", "Window_2", WS_OVERLAPPEDWINDOW,
150, 50, 800, 600, NULL, NULL, hInstance, NULL);

...show/update windows...

...MessageLoop...
}

LRESULT WINAPI WinProc(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam)
{
switch(uiMessage)
{
case WM_CREATE:
{
HWND hButton;
hButton = CreateWindow("BUTTON", "PUSH ME NOW",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
50, 200, 150, 20,
hWindow2, (HMENU) 1,
hInstGlobal, NULL);
}

没有使用此代码创建按钮。

至于我的调试,我可以通过将 WM_CREATE 下的 hWindow2 更改为 hWindow1 来在第一个窗口上创建一个按钮。但这不是我想要的。但是,我可以在第二个窗口上创建一个按钮,方法是将其保留为 hWindow2,但将消息事件更改为 WM_PAINT...

我不明白发生了什么,我不想解决这个问题。

任何帮助将不胜感激。谢谢。

最佳答案

这不是在 hWindow2 上创建按钮的明显方法吗?

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
...WindowClass / RegisterClass...

//HWND hWindow1;
hWindow1 = CreateWindow("WinProg", "Window_1", WS_OVERLAPPEDWINDOW,
0, 0, 800, 600, NULL, NULL, hInstance, NULL);

//HWND hWindow2;
hWindow2 = CreateWindow("WinProg", "Window_2", WS_OVERLAPPEDWINDOW,
150, 50, 800, 600, NULL, NULL, hInstance, NULL);

HWND hButton = CreateWindow("BUTTON", "PUSH ME NOW",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
50, 200, 150, 20,
hWindow2, (HMENU) 1,
hInstGlobal, NULL);

...show/update windows...

...MessageLoop...
}

LRESULT WINAPI WinProc(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam)
{
switch(uiMessage)
{
...
}
}

真的不确定为什么要尝试在 hWindow1hWindow2 使用的代码中创建按钮。也减少了对全局变量的需求。

关于C++多窗口程序 - 在第二个窗口上创建按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16411740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com