C++:CWnd下GetDC()函数,获取了什么存在哪里

C++:CWnd下GetDC()函数,获取了什么存在哪里,第1张

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()函数的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9620077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存