| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2698 人关注过本帖
标题:HDC hdc怎么用?this怎么用?
只看楼主 加入收藏
wain
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-6-7
收藏
 问题点数:0 回复次数:4 
HDC hdc怎么用?this怎么用?

新手上路

HDC hdc怎么用?有什么用?

this怎么用啊?

大虾指点一二啊

搜索更多相关主题的帖子: HDC hdc 
2006-06-09 11:24
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
HDC hdc;定义一个设备上下文的句柄,在API中用
如API中响应WM_PAINT时,要在窗口中显示文字:
RECT rc;
GetClientRect(hWnd,&rc);//获取客户区域
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hWnd,&ps);//获取设备上下文的句柄
DrawText(hdc,"hello",strlen("hello"),&rc,DT_CENTER);
EndPaint(hWnd,&ps);

而你说的this我想也是与这个有关的用法,它用在MFC中
入在客户区做一个端点为(0,0),(5,5)的线段:
CClientDC dc(this);//this就是当前窗口的指针,多为视图类指针
dc.MoveTo(CPoint(0,0));
dc.LineTo(CPoint(5,5));

天行健,君子以自强不息!!QQ:68660681
2006-06-09 15:34
wain
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-6-7
收藏
得分:0 

谢谢2楼的兄弟

可是我有时候见this->这种用法,我有点迷惑,我知道它好象是个指针,我说的 对不对啊?

2006-06-09 16:24
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
当然有这种用法阿,this是指向当前类的对象的指针
给你举个例子吧:

class dog
{
pulic:
dog();
int sound,swim;
void print();
}

dog::dog()
{
sound = 1;
swim = 2;
}
void dog::print()
{
int sound=0;//我在这里面又定义了一个int类型的sound变量
cout<<sond<<endl;//你知道输出的值是多少吗?显然是0,那么要是我想输出成员变量的sound呢
cout<<this->sound<<endl;//那就得这样用了,这样输出就是 1,
cout<<swim<<endl;//知道这样输出为多少吗?前面没有用this,显然是2,这其实等于this->swim因为this是隐式调用的
//不特别指明的情况就是含有this的,但是当该函数中有相同名字的变量的时候
//要调用类的成员变量就必须加this
}

int main()
{
dog Dog;
Dog.print();
return 0;
}

[此贴子已经被作者于2006-6-9 16:41:57编辑过]


天行健,君子以自强不息!!QQ:68660681
2006-06-09 16:41
wain
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-6-7
收藏
得分:0 


兄弟,我崇拜你,

十分感谢你耐心的赐教.

2006-06-09 17:28
快速回复:HDC hdc怎么用?this怎么用?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052610 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved