DLL中的对话框,为什么位置老不对啊?
我在dll中加入了一个对话框,在OnInitDialog中获得它的位置,用的语句如C下。
CRect rectDlg;
this-> GetWindowRect(rectDlg);
输出的结果是{top=382 bottom=821 left=357 right=1280}
这就怪了,我的分辨率是1280×1024的,而显示出来的对话框根本就离屏幕边缘差得很远,绝对是没有到1280的。
后来我把分辨率调到了1024×768,运行后输出的结果是
{top=254 bottom=693 left=79 right=1024}
在屏幕上显示的对话框同样是没有到屏幕的边缘。
这是怎么回事呢?是不是在DLL的对话框资源都有这个问题?
[解决办法]
GetClientRect试下
你的窗口rect存在一个转化的问题,ClientToScreen