圖形設備接口—GDI[2]

發表于:2008-04-25來源:作者:點擊數: 標簽:接口GDI圖形設備
關鍵字:c++這時,我們的準備工作已做好。開始畫圖之前,我們還要講一個概念——無效區域。我們知道,我們的顯示器就是一塊畫布,我們切換窗口,顯示器是不是要重新畫一遍畫布,這個問題要看情況。因為畫一遍畫布(我們也叫重繪)是很費資源的,所以我們就想
關鍵字:c++這時,我們的準備工作已做好。開始畫圖之前,我們還要講一個概念——無效區域。我們知道,我們的顯示器就是一塊畫布,我們切換窗口,顯示器是不是要重新畫一遍畫布,這個問題要看情況。因為畫一遍畫布(我們也叫重繪)是很費資源的,所以我們就想要重繪一部分區域,我們如何知道要重繪那部分區域呢?我們將這個區域,設成要求重繪的矩形區域之后,重新繪制該區域。我們把這個區域稱為無效區域。以后我們要重新繪制什么東東的時候,就可以將它設成無效區域。

    那么將這個區域設成了無效區域之后,誰來重新繪制它,如何繪制它呢?那么任何影響窗口的操作都會引發WM_PAINT消息,那么,誰來完成消息映射呢?是ON_WM_PAINT(),我們在消息映射要添加這一條,這個消息映射到了一個函數,這個函數是 OnPaint(),也就是說,我們的畫圖工作都在這里面完成。

    我們的目標先是畫一條線出來,我們可以想象一下,我們先用鼠標點一下,就有一個起始點,鼠標不放開,拖動鼠標,會有一條線跟隨,再點一下有了終止點,就可以畫一條線了。我們要做的工作就是將上面的內容翻譯成VC代碼。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97