GetDC()的返回值是CDC 也就是说是一个指向CDC类的指针 CDC类的对象它是MFC内部为我们动态构建的, 储存的地方也就是指针指向的地方, 但是具体是在代码的哪个部分生成的, 这点我们不得而知 不过需要注意的一件事情是, 用GetDC()获取的CDC对象, 必须用ReleaseDC()将其释放 如:ReleaseDC(GetDC());
至于获得CDC指针的用处有什么, 那么在这里是不可能一言而尽了 所以GUI函数都在它里面 因此只能是用到哪里, 学到哪里, 不可能全部学会
1
只需要通过调用 CWnd
w
=
GetDlgItem
(IDD_XXXX);
即可获取
CWnd
的指针;
2
再根据控件类型通过指针
强制转换
就行,比如
CButton
btn
=
(CButton)w;
CWnd::GetClientRect
void GetClientRect(
LPRECT lpRect )
const;
此函数用来获取对话框客户区大小。按你的代码,通过rcWidth()和rcHeight()就可以获得客户区的宽度和高度。
示例:绘制一条正弦曲线
void CMainWindow::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
int nWidth = rectWidth();
int nHeight = rectHeight();
CPoint aPoint[SEGMENT];
for (int i=0; i<SEGMENT; i++)
{
aPoint[i]x = (i nWidth) / SEGMENT;
aPoint[i]y = (int) ((nHeight / 2) (1 - (sin((2PIi)/SEGMENT))));
}
dcPolyline(aPoint,SEGMENT);
}
以上就是关于C++:CWnd下GetDC()函数,获取了什么存在哪里全部的内容,包括:C++:CWnd下GetDC()函数,获取了什么存在哪里、请问VC中如何获取对话框类中某个控件的指针、GetClientRect()函数的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)