请考虑以下代码:
LPRECT lpRect;
GetWindowRect(hwnd, lpRect);
我不知道如何从lpRect
获取信息;请指教。
答案 0 :(得分:19)
你写的是错的。 Windows API使用可怕的变量和类型命名约定。 LPRECT
表示“指向Rect的长指针”,在您通常的架构上只有RECT*
。你写的是一些未初始化的指针变量,指向某个任意位置(如果你不幸的话,修改后的程序会使你的程序崩溃)。
这是您实际需要的:
RECT rect;
GetWindowRect(hwnd, &rect);
RECT本身就是一个结构
typedef struct _RECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;
答案 1 :(得分:3)
您可以获取窗口的坐标:
lpRect->left
lpRect->right
lpRect->top
lpRect->bottom
此处提供更多信息:http://msdn.microsoft.com/en-us/library/windows/desktop/dd162897(v=vs.85).aspx
答案 2 :(得分:0)
或者您也可以在CWnd对话框中输入以下内容:
CRect rect;
this->GetWindowRect( &rect );