在非託管C 中使用GDI

2021-03-31 08:56:30 字數 1536 閱讀 4464

微軟說,gdi+可以在所有基於windows的應用程式中使用,包括64位的windows版本(不包括win3.x)。你只需要把gdiplus.dll拷入windows的系統目錄,即可使用需要gdi+支援的應用程式。在非託管的c++中使用,你只需要包含gdiplus.h標頭檔案,然後在連線設定包含gdiplus.lib庫檔案即可。

好了,讓我們用最簡單的任務——畫線和寫字來看看怎樣在c++中使用它吧。

用gdi+畫線,你需要這些物件:graphics,pen,color。graphics提供了graphics::drawline方法,pen儲存了線的屬性,比如顏色,寬度等。把pen物件的位址作為graphics::drawline方法的引數。

還是看看這個簡單的sdk程式吧。我們需要注意的是,在winmain函式中,我們需要呼叫gdiplusstartup和gdiplusshutdown。

#define unicode

#include #include

using namespace

gdiplus;

void

onpaint(hdc hdc)

lresult callback wndproc(hwnd, uint, wparam, lparam);

int winapi winmain(hinstance hinstance, hinstance, pstr, int icmdshow)

gdiplusshutdown(gdiplustoken);

return

msg.wparam;

}

// winmain

lresult callback wndproc(hwnd hwnd, uint message,

wparam wparam, lparam lparam)

}

// wndproc

用gdi+寫字只需要把onpain函式替換成下面的即可。

void

onpaint(hdc hdc)

注意,因為drawstring函式需要的字串時const wchar* 型別的,所以用l"sting"的形式。

哈哈,寫成這樣了,各位,就拍磚吧!

在VC中使用GDI

gdi 可應用於二維向量圖象,柵格圖象及排版,是為c c 程式設計師而設計的表現為c 類而存在的介面,能用於一切基於windows的應用中。作為gdi的後繼者,gdi 在gdi中增加了新功能,如文字的反鋸齒,漸變筆刷,alpha溶合 也優化了gdi許多已有的功能。此外,gdi 改變了程式設計模式,使...

如何在C 中使用C 類(非託管)和C函式

由於c 編寫的是託管 編譯生成微軟中間語言,而c 則編譯生成本地機器碼 這種c 也有叫做本地c 或者非託管c vc6.0就是用於開發非託管c 的平台 這兩種語言進行混合程式設計就存在一定困難。比較常用的方法是使用dllimport的方法,這種方法在網上有很多介紹,這裡就不詳細敘述了。但是用過這種方法...

非託管 呼叫非託管資源的使用

呼叫非託管資源的使用 一.了解 首先我們應該得了解什麼是託管資源,什麼又是非託管資源?帶著問題去找答案,解決問題是不是就容易多了呢,接下來我們先來了解關於託管和非託管。好了廢話到此,是不是感覺好玩啊,不管做什麼,當做玩,那麼你會覺得很輕鬆。接下來進入正題 託管 託管資源 managed resour...