- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为我正在编写的 GUI 系统编写了一个主窗口类。在主窗口的构造函数中,它使用 CreateWindow() 函数创建一个 Windows 窗口。该窗口按预期正常显示,但我无法捕获标题栏并将其在屏幕上移动。它完全卡住了。这是构造函数中的代码。
//Set up window class
WNDCLASS wnd;
wnd.cbClsExtra = 0;
wnd.cbWndExtra = 0;
wnd.hCursor = LoadCursor(0, IDC_ARROW);
wnd.hIcon = LoadIcon(0, IDI_WINLOGO);
wnd.lpszMenuName = 0;
wnd.style = 0;
wnd.hbrBackground = 0;
wnd.lpfnWndProc = WndProc;
wnd.hInstance = GetModuleHandle(NULL);
wnd.lpszClassName = L"GtMainWindow";
//Register window class
RegisterClass(&wnd);
this->m_winID = CreateWindow(
L"GtMainWindow", /* Classname */
L"Windows App", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
500, /* The programs width */
500, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
GetModuleHandle(NULL), /* Program Instance handler */
NULL /* No Window Creation data */
);
ShowWindow(m_winID,SW_SHOW);
这里是WinProc回调函数
//WndProc function
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
switch(msg) {
case WM_PAINT:
{
//GtWidget::PostPaint();
return 0;
}
case WM_CLOSE:
case WM_DESTROY:
{
PostQuitMessage(0);
GtApplication* ptrApp = GtApplication::GetAppInstancePtr();
ptrApp->Quit();
return 0;
}
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
现在我有一个单独的 EventManager,它包含驻留在 GtApplication 中的所有 PeekMessage 处理。问题又是为什么窗口卡住并且不响应任何标题栏操作。我无法移动、最小化、最大化或关闭它。任何帮助将不胜感激。先感谢您。此致,安东尼·丹尼尔斯
最佳答案
如果您不在 WM_PAINT 处理程序中调用 BeginPaint/EndPaint,则会出现由无限数量的 WM_PAINT 消息引起的无限循环。
关于c++ - CreateWindow 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25857011/
我无法创建自己的名为 CreateWindow 的函数,因为 win32 header 中已经定义了一个函数。只是我什至不能在我自己的命名空间中这样做。真正的问题是什么? MyNamespace::M
我刚刚开始使用 C++ 和创建窗口(在 Windows 上)。我正在使用 CreateWindow 函数,但出现错误 Error 2 error C2664: 'HWND CreateWind
我为我正在编写的 GUI 系统编写了一个主窗口类。在主窗口的构造函数中,它使用 CreateWindow() 函数创建一个 Windows 窗口。该窗口按预期正常显示,但我无法捕获标题栏并将其在屏幕上
在我的 Windows 应用程序中,我正在使用 CreateWindow() 函数创建一个新窗口。注册和创建窗口如下: // Set up the capture window WNDCLASS wc
我想在单击将成为主窗口子项的菜单项时使用 CreateWindow() 创建一个窗口。我知道我可以使用 DialogBox() 或 CreateDialog(),但我想使用 CreateWindow(
我开始使用 C++ 中的 win32 api,当我正要制作一个按钮时,智能感知显示“定义 CreateWindow CreateWindowA”。当我似乎悬停在下方时,它还会显示“错误:预期为 )”。
我正在为 OpenGL 开发一个可移植层(为 Linux 和 Windows 抽象出 glX 和 wgl 的东西)...无论如何,它有一个创建窗口的方法...如果你不传入父级,你会得到一个带框架的真实
您好,我想更改按钮的背景颜色。这是我的按钮代码 hwndTemp = CreateWindow(TEXT("BUTTON"), Str("Settings"), WS_CHILDWINDOW
我对 C++ 相当陌生,并且正在尝试学习在使用 CreateWindow(或 CreateWindowEx)函数为注册类创建的窗口上获取自定义填充颜色的最佳方法。 我编写了一个程序,演示了 3 种方法
您好,我想更改按钮的背景颜色。这是我的按钮代码 hwndTemp = CreateWindow(TEXT("BUTTON"), Str("Settings"), WS_CHILDWINDOW
我在使用 WINAPI 项目时遇到问题。有两个问题,当我用下面的代码启动一个窗口时,高度参数表现得很奇怪。它似乎以 1092 为上限,比我在计算机上需要的位置低 18 个像素。第二个问题是窗口没有边缘
在尝试用 C++ 创建窗口并绘制窗口大小与我设置的大小不匹配的矩形时,我注意到一些非常烦人的事情。 例如,如果我设置 480x240 窗口并尝试通过获取 GetWindowRect(hwnd, &re
我正在使用纯 Win32 API(RegisterClass 和 CreateWindow 函数)创建窗口。如何为窗口指定一种字体而不是系统定义的字体? 最佳答案 当您创建自己的窗口类时,您有责任自己
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Windows Taskbar API Win32: How to hide 3rd party windo
我创建了一个句柄为 handle_parent 的窗口。然后我创建了一个子窗口如下: hwnd_child = CreateWindow(child_class_name, _T(""), WS_CH
我的任务是重新创建具有类似于 Windows 截图工具功能的应用程序。其中之一是捕获当前事件窗口的屏幕截图,这就是导致我出现问题的原因。一切都几乎完美无缺,但是应用程序的“截图”比实际应用程序大几个像
在我的应用程序中,函数 CreateWindow 由于某种原因失败了。 GetLastError 表示错误 1407,根据 MSDN 文档,这是“找不到窗口类”。以下代码显示了如何调用 CreateW
我创建了一个 Electron 应用程序,主要是一个 Web 应用程序,与 Electron 应用程序有少量集成。大多数只是通过带有 loadURL 的 BrowserWindow 加载网站。 但是,
我的程序有一个静态界面,但我不知道制作界面的最佳方法是什么。使用资源文件或使用 WM_CREATE 消息的 CreateWindow 函数? 谢谢 最佳答案 我建议首先从对话框资源开始。然后,如果/当
采用以下代码: # pragma once // Windows specific files #include #include #include #include #include "IO
我是一名优秀的程序员,十分优秀!