原创 九江如畫山水

      九江是一個美麗的地方。九江,集名山(廬山)、名江(長江)、名湖(鄱陽湖)於一體,是一座具有2200多年曆史的江南文化名城和旅遊城市。130多年前,這裏就是對外通商口岸,1992年被國務院批准爲長江沿岸開放城市。長江是中國最大、

原创 深入探索MS COM開發框架 之 MFC和ATL(二)

本來,通過C++編譯器的cast轉換符具有的對地址偏移的計算能力,可以完成任務,不過ATL中還是採用了建表(數據驅動,data-driven)這種策略,以獲得更好的性能和靈活性,事實上,(事實上,就性能而已本人認爲差別很小,實質在cast

原创 VC和MFC的一些常見問題

  如何拋出(throw)由CUserException派生的異常?當我試圖捕獲(catch)一個派生類異常時,我得到以下錯誤"error C2039:'classCMyException': is not a member of

原创 如何在Edit中切換爲默認輸入法

     從CEdit繼承一個新類,再將他子類化到IDC_EDIT2控件上,即        CMyEdit2 m_MyEdit2;      m_MyEdit2.SubclassDlgItem(IDC_EDIT2,this);    

原创 深入探索MS COM開發框架 之 MFC和ATL(三)

1.        事實上,組件類獲得接口映射表是通過GetInterfaceMap()靜態成員函數先獲得interfaceMap結構變量,此變量的第二個值便是接口映射表的入口.InterfaceMap的第一個值保存了基類的_GetBas

原创 VC6.0使用GDI+的配置

GDI Plus 描述:     GDIPlus是微軟出的一個C++面向對象庫,它爲windows的圖形設備接口提供了更好的訪問。與標準的windows GDI相比,二維繪圖和圖片使用得到很大改進。使用GDIPlus你可以繪製定製的對象,

原创 如何單擊鼠標移動整個窗體

      當我們鼠標左鍵單擊標題欄的時候可以移動整個窗體的,但如何鼠標左擊窗體任何一個地方都可以移動整個窗體呢。可以這樣做        void CMyDlg::OnLButtonDown(UINT nFlags, CPoint po

原创 Spy++原理初探

Spy++原理初探作者:南京 宋陳三 下載源代碼  摘要:用Visual Studio搞開發的朋友對Spy++這個工具一定不陌生,它可以分析窗體結構、進程和窗口消息,對開發工作有很大輔助作用。我們需要研究某個對象時,只要調出其查找窗口,拖

原创 extern

1 基本解釋    extern可以置於變量或者函數前,以標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。   另外,extern也可用來進行鏈接指定。   2 問題:extern 變量   在一個

原创 vc6開發程序幾個配套軟件

首先機器上要有VC6.0和MSDN,這個不說了,地球人都知道。 1 設計工具:IBM 的Rational Rose    非常好的UML工具,而且默認就是支持VC6.0的。我用的是7.0版本的。下載地址自己在網上找吧。另外,Eclipse

原创 讓密碼更安全

---- 隨着應用軟件的日益豐富,需要使用密碼的地方也越來越多,尤其是對於上網的人來說,密碼幾乎無處不在。然而在當前各種應用軟件中普遍存在密碼的安全問題,其原因在於各種開發工具中編輯框存在安全漏洞。密碼輸入顯示是需要保密的,所以用來做輸入

原创 函數指針和指針函數

【函數指針】       在程序運行中,函數代碼是程序的算法指令部分,它們和數組一樣也佔用存儲空間,都有相應的地址。可以使用指針變量指向數組的首地址,也可以使用指針變量指向函數代碼的首地址,指向函數代碼首地址的指針變量稱爲函數指針。 1.

原创 深度解析VC中的消息(下)

MFC消息的處理實現方式   初看MFC中的各種消息,以及在頭腦中根深蒂固的C++的影響,我們可能很自然的就會想到利用C++的三大特性之一:虛擬機制來實現消息的傳遞,但是經過分析,我們看到事情並不是想我們想象的那樣,在MFC中消息是通過一

原创 深入探索MS COM開發框架 之 MFC和ATL(一)

文章索引:一、概述和待剖析宏羅列二、MFC、ATL COM支持原理概述三、宏剖析☆      ☆ MFC篇PART1----接口基礎構造的由來PART2 ----深入CCmdTarget看一看COM三大元素的實現PART3------類廠

原创 動態創建一個按鈕

有兩種方法:   第一種方法:     在resource.h中定義按鈕的ID:   #define   IDC_MYBUTTON   1010   在對話框的.h文件中聲明一個Button指針CButton   *m_pButton;