GDI 和GDI兩種方式畫線

2021-06-28 07:39:02 字數 1099 閱讀 8065

hdc hdc;

paintstruct ps;

hpen hpen;

hpen hpenold;

hdc = beginpaint(hwnd, &ps);

hpen = createpen(ps_solid, 3, rgb(255, 0, 0));

hpenold = (hpen)selectobject(hdc, hpen);

movetoex(hdc, 20, 10, null);

lineto(hdc, 200, 100);

selectobject(hdc, hpenold);

deleteobject(hdc);

endpaint(hwnd, &ps);

採用gdi畫線,您需要2個物件:裝置場景和畫筆。您通過呼叫createpen獲取乙個控制代碼。緊接著,您呼叫selectobject將畫筆選入裝置場景。然後呼叫movetoex將畫筆位置設為(20,10),然後呼叫繪製一條直線到位置(200,100)。注意movetoex和lineto均需要乙個hdc作為引數。

hdc hdc;

paintstruct ps;

pen* mypen;

graphics* mygraphics;

hdc = beginpaint(hwnd, &ps);

mypen = new pen(color(255, 255, 0, 0), 3);

mygraphics = new graphics(hdc);

mygraphics->drawline(mypen, 20, 10, 200, 100);

delete mygraphics;

delete mypen;

endpaint(hwnd, &ps);

通過gdi+和c++類介面畫線,您需要乙個graphics物件和乙個pen物件。注意您不需要向這些物件提供窗體控制代碼。相反,您只需要構造乙個graphics類(乙個graphics物件)和乙個pen類(乙個pen物件)即可。畫線涉及graphics類的graphics::drawline方法。graphics::drawline方法的第乙個引數是乙個pen物件的指標。較之前面將pen選入裝置場景的gdi例子,這種方案更加更加簡單靈活。

在VC6 0中使用GDI 的兩種辦法

朱金燦 gdi 是gdi的公升級版本。在vc6.0中並沒有配備gdi 的相關檔案。那麼如何在vc6.0使用gdi 呢?我從網上搜尋了一些資料,並結合自己的使用,總結出一下兩種方法。下面我各建乙個mfc工程介紹這兩種做法。1 找到gdi 庫檔案和標頭檔案,把它放到乙個資料夾gdi files。這個資料...

在VC6 0中使用GDI 的兩種辦法

gdi 是gdi的公升級版本。在vc6.0中並沒有配備gdi 的相關檔案。那麼如何在vc6.0使用gdi 呢?我從網上搜尋了一些資料,並結合自己的使用,總結出一下兩種方法。下面我各建乙個mfc工程介紹這兩種做法。1 找到gdi 庫檔案和標頭檔案,把它放到乙個資料夾gdi files。這個資料夾包括3...

C DLL匯出的兩種方式和鏈結的兩種方式

第一種 匯出方式 extern c declspec dllexport int plus int x,int y extern c declspec dllexport int sub int x,int y extern c declspec dllexport int mul int x,in...