在GDI中,DC(Device context)是一個(gè)非常重要的概念。
有的書中,將DC翻譯為設(shè)備描述表(《Windows 程序設(shè)計(jì) 第五版》作者Charles Petzold), 也有的書將DC翻譯為設(shè)備上下文。 到底什么是DC? 用現(xiàn)實(shí)中的例子來(lái)理解可能更容易些。 如果你喜歡畫畫,你得先準(zhǔn)備了畫布,畫筆,顏料…… 畫畫的環(huán)境搭建好了,你就可以畫畫了。 這個(gè)畫畫的環(huán)境,就是DC。 在圖形環(huán)境下,一切都是畫出來(lái)的,所以,你要準(zhǔn)備好一個(gè)DC,才能在屏幕上畫畫。——寫字也是畫畫。 在畫畫的環(huán)境中,有哪些對(duì)象呢? 畫布——GDI對(duì)象之一:區(qū)域 畫筆——GDI對(duì)象之一:畫筆 顏料盒——GDI對(duì)象之一:調(diào)色板 如果要在畫筆上寫字的話,寫什么樣的字體呢?方正字體?徐靜蕾字體?——字體也是GDI對(duì)象之一。 有的畫筆比較粗,專用來(lái)刷大面積背景色的,這是刷子——GDI對(duì)象之一:刷子 如果你不想畫了,只想把別人畫好的畫,貼到你的畫布上,這也是可以的。——GDI對(duì)象之一:位圖。 所以,這里就有6種GDI對(duì)象可以用于DC。 現(xiàn)在開始畫畫了,你拿起了一只筆?!赪indows環(huán)境里,這叫選擇了一個(gè)畫筆對(duì)象:使用SelectOBject函數(shù)。當(dāng)然,如果你沒(méi)帶筆也沒(méi)關(guān)系,Windows為你準(zhǔn)備了幾只畫筆,你可以這樣申請(qǐng)系統(tǒng)提供的缺省畫筆:hPen = GetStockObject(WHITE_PEN); 如果你畫著畫著,覺(jué)得手中的筆用著不爽,可以換一只啊,沒(méi)關(guān)系的。——依舊是SelectObject()換筆。 當(dāng)然,如果你走出了畫室,別完了把你的畫筆清除掉,要不畫室里全是筆啊,刷子啊,太亂了?!狣eleteObject() |
|
來(lái)自: 賢人好客 > 《軟件開發(fā)》