CPaintDC dc(this)中的this指针的含义解析
2012-01-11 09:02
363 查看
答1:this是指当前窗体对象,dc用带有this指针的构造函数进行构造,是指当前窗口的dc。
答2:用了this指针初始化后,你操作的dc就是当前窗体,也即当前窗体就是你的画布!
答3:每个类都有一个默认指针this指向自己。
答4:就是获取当前窗口的dc而已,可以用这个DC在当前窗口绘图。当然你也可以获取其它窗口的dc,只要传入其它窗口的指针就可以了。
同理CClientDC dc(this);中的this也是这个意思。
其实,控件就是一个子窗口,我们可以通过CClientDC在控件上绘图。参加下面代码:
从上面可以看出,往哪里输出,取决于dc指向,在上面的例子中,dc1指向控件(子窗口),dc2指向对话话窗口(父窗口)。
其实CClientDC dc1(pWnd1);就相当于如下两条语句:
CDC* dc1;
dc1=pWnd1->GetDC();
当然了,由于现在dc1被定义成指针变量,则dc1.TextOutW(0,0,sTemp);要改成dc1->TextOutW(0,0,sTemp);你懂的。
答2:用了this指针初始化后,你操作的dc就是当前窗体,也即当前窗体就是你的画布!
答3:每个类都有一个默认指针this指向自己。
答4:就是获取当前窗口的dc而已,可以用这个DC在当前窗口绘图。当然你也可以获取其它窗口的dc,只要传入其它窗口的指针就可以了。
同理CClientDC dc(this);中的this也是这个意思。
其实,控件就是一个子窗口,我们可以通过CClientDC在控件上绘图。参加下面代码:
void CXXXXXDlg::OnBnClickedButton1() { // TODO: Add your control notification handler code here CString sTemp; sTemp="我们的爱"; CWnd* pWnd1; pWnd1 = GetDlgItem(IDC_STATIC_SEX); //返回控件句柄 CClientDC dc1(pWnd1); dc1.TextOutW(0,0,sTemp);//在static控件上输出文字 CClientDC dc2(this); dc2.TextOutW(0,0,sTemp);//在客户区上输出文字 }
从上面可以看出,往哪里输出,取决于dc指向,在上面的例子中,dc1指向控件(子窗口),dc2指向对话话窗口(父窗口)。
其实CClientDC dc1(pWnd1);就相当于如下两条语句:
CDC* dc1;
dc1=pWnd1->GetDC();
当然了,由于现在dc1被定义成指针变量,则dc1.TextOutW(0,0,sTemp);要改成dc1->TextOutW(0,0,sTemp);你懂的。
相关文章推荐
- CPaintDC dc(this)中的this指针的含义解析
- this指针的含义
- void及void指针含义的深刻解析
- this指针的用法和含义
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- this指针 operator* 解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- C++中this指针解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析
- void及void指针含义的深刻解析