原创 九江如畫山水
九江是一個美麗的地方。九江,集名山(廬山)、名江(長江)、名湖(鄱陽湖)於一體,是一座具有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;