怎样理解DC

lzhljylg 2001-02-20 09:55:00
一般,书上会说:设备描述表(Device Context)是用来定义图形对象及其属性、并且影响GDI输出的图形方式的一种结构。这些图形对象包括画线用的画笔、填充图形用的画刷等……。

然后会说:Windows的设备描述表可分为四种类型:显示器型,打印机型,内存型,以及信息型

再后会说使用DC的几个步骤:先通过函数GetDC、BeginPaint等的调用获取或创建窗口工作区的设备描述表的句柄,接着使用GDI函数在工作区中绘图,而后就是调用ReleaseDC释放设备描述表

最后书本就进入了画点画线画矩形的实例……

天啊,这样学,我也许可以象学礼仪般照猫画虎弄几个图形出来,可是我知道我肯定没有真正理解DC的涵义--因为我现在连怎样提一个具体的问题都不知道,就更不要提去变通了。

各位大侠,DC是介于应用程序和显示驱动程序之间的一个桥梁,这没错吧,那么这桥梁到底是怎样连接两岸的呢?请把这连接的机制(不是指方法!)画个概图给我好吗?

拜托了!
...全文
245 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cycsharp 2001-02-21
  • 打赏
  • 举报
回复
看课
myb123 2001-02-21
  • 打赏
  • 举报
回复
听课
zero100 2001-02-21
  • 打赏
  • 举报
回复
我只把它当做一个数据结构,在进行画图的时候,要取得一个HDC的句柄,
来用,其他的就是操作系统windows它去完成了。

我还真有点懒。:)
mjk 2001-02-21
  • 打赏
  • 举报
回复
DC就是为某一用途需要准备的设备环境信息。
sober 2001-02-20
  • 打赏
  • 举报
回复
本来不想说,但。。。。DC (DEVICE CONTEXT)你应该认识到WINDOWS 是个多用户操作系统,每个进程都可以使用各种资源(打印机,显示器,。。。。,窗口,。。。),而对于外设的使用
是建立在驱动程序的基础上的。而每个使用的外设都需设置一定的参数以便能明确,同时每个进程在使用外设时对其设置也可不同。为此。WINDOWS 建立了DC这样一个数据结构。供WINDOWS GDI。DLL 中的API 在使用DRIVER 时,做为参数使用。。。。(GIVE ME CREDITS)
沒有名字 2001-02-20
  • 打赏
  • 举报
回复
是啊,一块内存,怎么画出来是window的事情。
windows对它的地址有记录,需要时,把它所表示的图象信息画出来。
随风bj 2001-02-20
  • 打赏
  • 举报
回复
一块内存而已
ddddh 2001-02-20
  • 打赏
  • 举报
回复
比方说你画一条线

你发命令给dc,也就是通过LineTo

然后DC根据不同的Driver,发送命令给driver
driver做实际的工作

好处是, 不同的driver对你来说就是透明的了
你可以不考虑不同的driver,不同的分辨率,等等

方便了程序员的工作呀

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧