【发布时间】:2014-08-15 16:03:04
【问题描述】:
我想在我点击位于我的程序主窗口上的按钮时出现一个弹出窗口。我到处寻找弹出窗口示例,大多数答案只是向我展示了如何制作一个窗口,但我的应用程序中已经有一个主窗口。
基本上,我遇到的困难是知道将新窗口类和弹出窗口的代码放在哪里(因为我希望弹出窗口具有与主窗口不同的属性)。它应该也出现在 WinMain 函数中,还是应该出现在 CALLBACK WndProcedure 部分的其中一种情况中?
我的窗口的一些代码是:
WNDCLASSEX wc;
HWND hwnd;
MSG Msg;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = g_szClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"The title of my window",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);
if(hwnd == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
我只是不知道该放在哪里...应该放在按下按钮时激活的代码中,还是应该留在WinMain函数中,以及其他窗口的信息?
希望你能理解我的困境,我对编程有点陌生。
【问题讨论】: