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

2021-08-29 10:46:09 字數 2629 閱讀 1952

朱金燦

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

1.找到gdi+庫檔案和標頭檔案,把它放到乙個資料夾gdi+files。這個資料夾包括30個頭檔案和乙個庫檔案。

2.新建乙個單文件工程「usegdiplus」,把資料夾gdi+files拷貝進工程資料夾。

3.進行工程設定,選擇vc的project選單欄的setting選單項,在對話方塊中的c/c++選項卡中的category一欄中選擇general, 在project options中加入乙個選擇:/i "gdi+files",如下圖所示:

在project->stting->link->object/libary中加入gdi+files\gdiplus.lib,如下圖所示:

4.新建乙個.h檔案qgdiplus.h,該標頭檔案的內容如下:

#pragma once

//// include this file in stdafx.h

//// atl: create a qgdiplus local variable in _twinmain.

// constructor starts, destructor stops.

// ensure that gdiplus header files work properly with mfc debug_new and stl header files.

// q317799: prb: microsoft foundation classes debug_new does not work with gdi+

#define iterator _iterator

#ifdef _debug

static int ngdiplusobjects = 0;

namespace gdiplus

;#ifndef _gdiplusbase_h

#define _gdiplusbase_h

class gdiplusbase

void* (operator new)(size_t in_size)

void (operator delete)(void* in_pvoid)

void* (operator new)(size_t in_size)

void * (operator new)(size_t nsize, lpcstr /*lpszfilename*/, int /*nline*/)

void operator delete(void* p, lpcstr /*lpszfilename*/, int /*nline*/)

};#endif // #ifndef _gdiplusbase_h

}#endif // #ifdef _debug

#define ulong_ptr dword

#include

#ifdef _mfc_ver

#include

#endif

#undef iterator

using namespace gdiplus;

#pragma comment (lib, "gdiplus.lib")

class qgdiplus

~qgdiplus()

private:

// the token we get from gdi+

ulong_ptr m_token;

};好了,現在我們開始體會gdi的強大功能吧。

在檢視類的ondraw函式裡新增**,實現顯示乙個透明字串。**如下:

void cusegdiplusview::ondraw(cdc* pdc)

程式效果圖如下:

第二種方法是我參考網上的乙個做法。

1.首先將gdi+的標頭檔案拷貝進vc目錄下的includes(我的是:d:\microsoft visual studio\vc98\include),將gdi+的庫檔案vc目錄下的lib資料夾中(我的是:d:\microsoft visual studio\vc98\lib)

2.新建乙個mfc單文件工程employgdiplus。

3. 在project->stting->link->object/libary中加入gdiplus.lib。

4.新增畫圖**,**如下:

void cemploygdiplusview::ondraw(cdc* pdc)

程式的效果如之前的那個程式。

相比較而言,第一種方法比第二種方法要比較靈活。

《最小二乘法擬合圓公式推導及

vc實現》

vc6.0中使用gdi+圖形函式

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

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

在VC 6 0下設定GDI 的方法

1.在tools options directories,設定include files gdi 的標頭檔案 和library files gdi 的庫檔案 2.在gdi 的工程中,完成初始化工作 在stdafx.h中,在類中加入 define ulong ptr unsigned long inc...

VC6 0中使用64位整型

vc6.0通常用於編寫32位的程式,但是偶爾也需要用到64位整型以實現更精確的計算,在vc6.0中64位整型是用 int64定義的,如下為使用該型別資料計算階乘求和的乙個例子。需要注意的是printf要輸出64位整型數,引數應為 i64u。include int main printf i64u n...