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