原创 MFC 透明內存DC

在MFC中繪製比較複雜圖形,通常採用雙緩衝技術來繪圖,的確可以大大加快繪製速度和減少閃爍,但是有些情況也不盡然。 我最近遇到了一個問題,採用的也是雙緩衝來加快繪圖,但是繪製效果還是不盡人意。A對象裏大約有幾百個可以繪畫的對象,每個對象都沒

原创 MFC DLL中導出函數模板

//my.h struct AFX_EXT_CLASS B { }; struct AFX_EXT_CLASS C { }; class AFX_EXT_CLASS A { public: template<class T> BO

原创 stl function擴展(一)

#ifndef _FUNCTION_LIB_H_ #define _FUNCTION_LIB_H_ #include <functional> namespace function_lib { /* *仿函數功能:將二元仿函數的第

原创 字符串編碼問題(Ascii、Unicode、UCS-2、GBK、UTF-8)

1.字符編碼的發展 第一階段:ASCII階段,(American Standard Code for Information Interchange, “美國信息交換標準碼),計算機當時只支持英語,字符在計算機中都是以0和1的方式存儲的。

原创 Tinyxml封裝類COperatorXml

OperatorXml.h頭文件 #ifndef _OPERATOR_XML_H_ #define _OPERATOR_XML_H_ #include <string> class TiXmlDocument; class TiXm

原创 c++繪圖軟件

準備寫一個繪圖軟件,參考了三層架構(表現層、業務邏輯層、數據訪問層)。   ////////////////////////////////////////////////////////////////////////// // 類

原创 GetClipBox()和SeletClipRgn()問題

由於項目需要,需要過濾掉一些區域,就是用了GetClipBox()和SelectClipRgn()函數來實現,其中碰到了一些問題。 1、調用GetClipBox()獲得當前的剪切區,得到的是邏輯座標。 CRect rcOldClip; p

原创 MFC點擊屬性頁確定按鈕後,屏蔽窗口自動刷新問題。

  環境:VS2010 任務:修改一個屬性頁對話框。 操作:雙擊一個對象,彈出一個屬性頁對話框,點擊確定按鈕,在OnOK函數裏面,設置對象的一些屬性,並把這個視圖刷新一遍。 描述: 這個OnOk相應函數是別人已經寫好的,我把OnOK函數裏

原创 Drawcli分析

當前環境:windows7 32位旗艦版、VS2010旗艦版   Drawcli介紹: Drawcli是VS2010中的一個示例程序,能夠進行簡單的繪圖操作,例如線、矩形、圓角矩形、多邊形等,位於VS安裝目錄"Microsoft Visu

原创 CDialog上使用CToolBar+CReBar

最經在做一些用戶界面的東西,對話框上有很多按鈕和組合框,全部加起來差不多有20多個吧,界面非常凌亂,最後決定用CToolBar + CReBar來重新設計界面,爲什麼選用這個呢?一是因爲看到IE用的也是這個,二是用CReBar+透明的CT

原创 c++內存流

1、MemoryStream.h文件內容ifndef _MEM_STREAM_H_ #define _MEM_STREAM_H_ #include

原创 ostringstream用法

使用MFC都知道他有一個非常方便的字符串類CString,C++標準也有一個string類,但是處理起來不夠靈活,特別是沒有類似Format()的函數。   無意中看到ostringstream的用法,使用它可以達到類似的效果。   os

原创 C++內存泄露

C++內存泄露一直是個頭痛的問題,但是總要解決吧,在網上搜了很久以後,終於找到了一個不是辦法的辦法,這個辦法有缺陷,但是有總比沒有強吧!   使用的編譯器:VS2010。 這裏需要說點彙編的知識: void fun(int nVal)

原创 ActiveX控件在IE中不響應Backspace消息

1、操作輸入法需要導入:#include <imm.h> #pragma comment(lib, "imm32") 2、定義變量://鍵盤鉤子句

原创 c++模板兩個數的加法

1、最簡單的情況: template<class T> T Add(const T& a, const T& b) { return a + b; } 缺點是不能夠處理不同類型的數據,例如Add(100, 100.0f); 2、第二種情