有什么办法(如果可以的话,请提出一些建议:))在另一个填充该窗口的窗口中创建窗口,该窗口始终保持100%的宽度,高度并始终保持与父窗口相同的位置?简而言之,创建与父窗口作用(大小和移动)相同的窗口。现在我有这个:
hWnd = CreateWindowEx(WS_EX_TOOLWINDOW,L"Class", L"Title",WS_VISIBLE | WS_POPUP,
0, 0, 0, 0,hParent, NULL, GetModuleHandle(NULL), NULL );
我正在检查
WM_SIZE
或WM_WINDOWPOSCHANGING
内CallWndRetProc的大小变化。if(msg->message == WM_WINDOWPOSCHANGING && msg->hwnd == hParent){
WINDOWPOS* pos = (WINDOWPOS*)msg->lParam;
SetWindowPos(hWnd, 0, pos->x, pos->y, pos->cx, pos->cy, SWP_NOACTIVATE);
}
但是有一个问题,
pos
具有相对于hParents窗口的坐标,而SetWindowPos相对于整个屏幕设置位置。也许有更简单的方法将hWnd窗口保持在与hParent相同的位置上? 最佳答案
您可以使用GetWindowInfo()查询窗口的当前屏幕位置。使用此功能,您可以根据相对坐标计算所需的屏幕位置
关于c++ - C++在另一个内部创建窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10090764/