设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
ReleaseDC为什么要求指定窗口句柄?
1
2
/ 2 页
下一页
返回列表
发新帖
ReleaseDC为什么要求指定窗口句柄?
[复制链接]
11
|
10
|
2021-1-27 05:22:46
|
显示全部楼层
|
阅读模式
说实话,微软设计的这个函数我没看懂!
intReleaseDC(HWNDhWnd,HDChdc);
不是已经有hdc了,为什么还要指定hWnd?
WINGDIAPIBOOLWINAPIMoveToEx(
HDChdc,
intX,
intY,
LPPOINTlpPoint
);
MoveToEx()为什么就不用指定hWnd?
哪位同学能解答一下,谢了!
分 -->
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
可能看一下ReleaseDC函数的源代码就知道
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
一个窗口一个DC
intReleaseDC(HWNDhWnd,HDChdc);要知道那个窗口的DC
窗口类的
CWnd::ReleaseDC
intReleaseDC(CDC*pDC);
全局的
ReleaseDC
TheReleaseDCfunctionreleasesadevicecontext(DC),freeingitforusebyotherapplications.TheeffectoftheReleaseDCfunctiondependsonthetypeofdevicecontext.Itfreesonlycommonandwindowdevicecontexts.Ithasnoeffectonclassorprivatedevicecontexts.
intReleaseDC(
HWNDhWnd,//handletowindow
HDChDC//handletodevicecontext
);
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
每个窗口都有自己的绘图设备DC,你要释放主框口还是子窗口的DC?所有得有窗口句柄。至于你说的MOVE函数,你写在那个窗口它就是在这个窗口中移动点的坐标,所以不需要指定窗口句柄。
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
MoveToEx是个全局API需要一个hdc(这个hdc要先得到)
GetDC
TheGetDCfunctionretrievesahandletoadisplaydevicecontextfortheclientareaofaspecifiedwindoworfortheentirescreen.YoucanusethereturnedhandleinsubsequentGDIfunctionstodrawinthedevicecontext.
TheGetDCExfunctionisanextensiontoGetDC,whichgivesanapplicationmorecontroloverhowandwhetherclippingoccursintheclientarea.
HDCGetDC(
HWNDhWnd//handletoawindow
);
有了dc就可以绘制了,即绘制是在DC上进行的
TheMoveToExfunctionupdatesthecurrentpositiontothespecifiedpointandoptionallyreturnsthepreviousposition.
BOOLMoveToEx(
HDChdc,//handletodevicecontext
intX,//x-coordinateofnewcurrentposition
intY,//y-coordinateofnewcurrentposition
LPPOINTlpPoint//pointertooldcurrentposition
);
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
hDC是与hWnd相关的,很可能通过hDC无法直接得到其对应的hWnd的。
(因为这二者都是“HANDLE”这种数据类型的内核对象,其“信息结构”是等同的吧)
因此,如果你不给出对应的hWnd的话,
那么在函数内部,岂不是要在“一片茫茫大海的hWnd”中,去找一下这个hDC属于哪个hWnd?
这样“运行效率”会不会太低了…………
所以,函数要求直接给出对应的hWnd。
PS:
以上内容,
纯属臆测。
如有失误,
请勿见怪。
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
微软有许多接口设计的是不合理,这是历史原因。
微软对用户友好,但是对程序员是很不友好的
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
按照你们的说法,MoveToEx()也应该指定hWnd,否则GDI函数就不知道应该在哪个窗口上绘图?
但是,GDI函数只要指定HDC就可以了!为什么呢?因为你检索HDC的时候就已经传入了HWND参数。
奇怪的是释放HDC的时候,ReleaseDC()为什么要求指定hWnd?
微软肯定不会多加一个参数,这其中必然有他的道理?
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
GDI绘图,是只管操作相应的hDC,不会去管窗口的,好不好!
有相应的hDC了,它就可以知道该去操作哪块“内存数据区”,
此时用得着去理会“窗口”吗?
它的“绘图结果”要显示出来,那是“窗口刷新(重绘)”时的事情了……
这时自然有相应的hWnd来“指导”操作。
回复
使用道具
举报
千问
|
2021-1-27 05:22:46
|
显示全部楼层
ReleaseDC(NULL,hDC);
这句怎么解释?msdn上的原代码
回复
使用道具
举报
1
2
/ 2 页
下一页
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
怀孕8个月了发现氨霉高过高黄胆也高是怎办
2
我是青少年,可是头发越来越稀怎么办
3
请问现在有什么好玩的免费的网络游戏啊!
4
谁能弄个高像素的(qq我的好友)前面的绿箭头图
5
因拖延而错过时间误了事,是什么成语
6
患者走路不稳,有颈椎病史,在医..
7
医生,我刚刚怀孕,就发现有阴道炎,求救!
8
谢谢你医生.我去检查.但是我还..
9
现在检查出圣元优聪奶粉出了问题对吗
10
我母亲是动静脉畸形,手术已做
11
附子为什么购买两次颜色白和黑..
12
有经验的淘宝高手请进!!!十万火急
13
我是本科工程管理专业,想考同济大学但不知道考哪专业比较好,和不知道初试和复试要考什么。
14
喉咙总是不适,该怎么办?会..
15
慢性荨麻疹具体要戒什么东西?
16
一米75找多高的女友比较合适
17
我有小三阳现在医好了什么都..
18
我的女儿从断奶到现在五岁了夜里
19
我是八月三十号做的人流,到现在还没有来例假
20
我在淘宝的鞋店为什么这么少流量???
21
我的支原体阳性是从血液里检查出
22
本人女35岁,我得了玫瑰康疹3个月,经常吃银屑灵和盐酸左西替利嗪片
23
微波前该做的检查什么全部做过了..
24
我家宝宝经常解的大便都有奶伴,给他吃了婴儿健脾散以后效果不是
25
闭经怎么治啊我吃了一盒少腹逐瘀丸还是没来是不是很严
26
肚脐眼左2厘米上1厘米处又硬块儿是什么问题
27
重庆距武隆多少公里
28
会影响身高吗??????????
29
我猜有哪集是林志玲
30
今查CT,显示左测脑室前角及体部旁
31
直肠类癌伴有一个淋巴结转移的治疗
32
小猫在哪里买
33
做爱时的水是什么颜色
34
怀孕8个月了发现氨霉高过高黄胆也高是怎么
35
乌龟的眼睛
36
我每天早上喝豆浆,用七样制成,黄豆
37
我从初中开始起,开始的时候起的都是大的红疙瘩,现在
38
我母亲正在用芪味糖平但降糖效果不好,是否可以和诺和龙同用
39
只是在牙上发现癌细胞~其他部位..
40
我姥姥今年75岁,最近一段时间晚上睡不好觉,后脑疼
41
我做的宫颈|阴道细胞学检测报告:
42
TOSHIBA 复印机出现一个小扳手的标志是什么意思?
43
我是9月12号做的聚焦超声治疗宫颈糜烂到现在已经半
44
天麻价格如何?服用方法?是切成..
45
不知怎么啦!
46
聚生网管查不到别人流量
47
男17左手拇指自末节基底部以远缺如,骨质外露
48
阴部瘙痒是什么问题啊?
49
高血压脑栓塞引起的偏瘫预后情况..
50
梦幻西游
51
你好。请问咽炎有什么好用的药,..
52
杭州2009年10月份自考补考
53
怀孕初期感冒咳嗽对胎儿有什么影..
54
我在月经第15天的时候出血,
55
模拟人生2有时启动不了,重新双击进入又说《模拟人生2》已经在运行,需要重新启动吗
56
我吃过中药,补肾的吃过,没效果啊
57
有谁知道脂肪瘤不用手术能治好消除
58
疑难问题询问
59
紫丹银屑胶囊一般药店有卖吗..
60
刚开博客提点意见
61
耻骨联合处肿胀似的疼
62
信用卡到期了怎么办?
63
请问我这个是黄体功能不足吗?
64
病人双手间歇性供血不足,手指头..
65
得了腺肌病怎么办
66
这说明她还喜欢我么?并没有恨我?
67
引产后全身出现红点,痒而且面积广!
68
宝宝4岁男孩尿潜血3+是怎么回事
69
曾做过脑CT,验血前天我在公司工作时,突然先是大腿一阵酸痛
70
你好,截图软件是什么
71
我姥姥今年75,这段时间发现她越来越瘦了,她有可能得了什么毛病
72
人流2次子宫偏左,已有2年没采取避孕措施
73
不可思议,赛尔号45级鲁加斯打败了雷伊
74
药流后,一个月内又出现不知道是流血还是月经现象,该怎么办
75
胎盘位置:后壁胎盘功能..
76
我外阴瘙痒白带过多如何治疗另外7岁小女孩也外阴痒
77
关于子宫肌瘤的请教
78
水痘干疤后好久掉
79
可是我及时吃药了啊。
80
睡觉醒了之后嘴里很酸是怎么回事?
81
请问与 杜拉拉升职记 同类小说都有什么
82
做完碘伏造影以后肚子一直比较疼,需要吃药治疗吗
83
1、双侧乳腺小叶增生,2、双侧多发实性结节,
84
喝大麦芽水之后
85
谢谢您.治疗好了也不要过性生活..
86
我老婆现在怀孕8个月了发现氨霉..
87
我父亲前段时间生病,差点偏瘫
88
鼻喉顶部见不规则隆起表面粗糙,舌根部见淋巴滤泡增生
89
低压90,高压140是否为该血压?
90
2型糖尿病现服用瑞格列奈片餐后..
91
VC++6.0 做最简单的Hell world程序编译,导出exe程序无法复制
92
腰疼的原因级治疗方法
93
手淫对长高有影响吗
94
头晕间断持续一周以前无此病例,CT所见
95
我以前没有过敏过,你说的验血常规是检查什么病呀,谢谢
96
尿结石是怎么一会事
97
婴儿额头有白班点怎么办..
98
目前一般情况:视力下降