MFC ClientToScreen 函数的困惑!

2025-06-22 19:33:44
推荐回答(1个)
回答1:

作用:改变所绘制控件的位置.

GetClientRect(r);//取到控件相对父窗口的坐标位置(区域),是一个相对父窗口客户区的坐标.
ClientToScreen(r);//将这个坐标转化为屏幕坐标.(也就是相对显示器左上角(0,0)来说的)
其实你也可以,r.letf+=30,等,按自己的要求来改变这个位置.

MoveWindow()//参数要求是 相对父窗口的坐标

为什么要改变控件位置,这是按编程者要求来实现的.可以任意方式.

ps:
CRect* r=new CRect(); //这里用了一个new,如果忘了释放,会内存泄漏的.
一般情况下,用堆栈方式就行.
CRect r;