MFC 擴充套件庫 - CJ60Lib ( 針對Visual C++ 6.0進行的升級 ) (轉)
原來的庫(MFCXLib)已經更名為CJ60Lib,這是為了與那些使用舊庫的區別開來。本庫與舊的庫具有同樣的功能,但是,針對Visual C++ 6.0作了幾個擴充套件。
請按照下面的步驟來設定你的應用程式使用CJ60Lib這個MFC擴充套件庫:
- 在你的工程設定(project/setting)中,選擇 General 標籤,確保 Foundation Class 被設定成 Use MFC in a shared DLL。
- 在你的工程設定(project/setting)中,選擇 Link 標籤。.設定 Category 為Input,並且將 ../Lib 新增在 Additional Library Path中。
- 仍然在 Link 標籤中,改變 Category 為 General。針對 Output Name (所有的設定),編譯到 ../Lib 目錄。這將使得和變得容易一些,因為 DLL和 EXE 都處在同一個目錄中。
例如為 ../Lib/MyDemo.exe。 - 選擇 C/C++標籤。 改變 Category 為 Preprocessor,然後新增 ../Include 到 Additional Include Directories中。
- 最後的一個步驟將新增如下兩行到 StdAfx.h 中,這將輸入外部類並且在你的整個應用程式中都能使用它們:
source code -->#define MFCX_PROJ
#include
如果要靜態連結到CJ60Lib,請作如下改變:
- 在你的工程設定中,選擇General標籤。確保 Microsoft Foundation Class 被設定為 Use MFC in a static library。
- 在你的StdAfx.h 檔案中新增下面幾行程式碼,這將導致庫靜態連結到你的應用程式(確保在include語句之前新增):
#define MFCXLIB_STATIC
#define MFCX_PROJ
#include
這個庫是為版本為4.71或其後的comctl32.dll而寫的。如果你是老版本的,你可以從的站點上最新版本。
在CJ60Lib中的類:
CCJButton - ( CJButton.cpp 和 CJButton.h )
我寫這個類最初是為了處理在CCJControlBar類中的最小化和關閉按鈕。這個類能夠處理扁平按鈕。我在此基礎上作了擴充套件,建立了一個實現靜態按鈕的條目,就跟在VisualStudio的Project Settings->Custom Build標籤中看到的一樣。
CCJComboBox - ( CJComboBox.cpp 和 CJComboBox.h )
我寫這個類是為了處理扁平外觀的組合框,就象在微軟的系列產品中看到的一樣。它很容易使用,只要將所有有CComboBox的地方替換為CCJComboBox即可。關於使用該類的詳細說明,參見/flat_combobox.htm">這裡。
CCJControlBar - ( CJControlBar.cpp 和 CJControlBar.h )
這個類是基於CristiPosea寫的CSizingControlBar類基礎之上的。 我新增了更多的外觀給這個控制元件,包括最小和最大化按鈕、把手、按鈕浮動提示、彈出選單支援和垂直及水平sizebar指標。關於如何使用這個類,參見。
CCJFrameWnd - ( CJFrameWnd.cpp 和 CJFrameWnd.h )
CCJMDIFrameWnd - ( CJMDIFrameWnd.cpp 和 CJMDIFrameWnd.h )
CCJDockBar - ( CJDockBar.cpp 和CJDockBar.h )
這些類覆蓋了主視窗原來的佈局,從而允許對工具條的三維外觀進行偏移。要使用這些類,僅僅需要在Mainfrm.h檔案中在CMainFrame的繼承時將基類由CFrameWnd改為CCJFrameWnd(對於多文件介面,使用CCJMDIFrameWnd)。
CCJBar - ( CJOutlookBar.cpp 和 CJOutlookBar.h )
自VC5的最後版本以來,這個類被修改了許多。我已經新增了滑鼠事件的處理,並且修改它使用CCJPagerCtrl而取代使用預設的列表框捲軸。
CCJPagerCtrl - ( CJPagerCtrl.cpp 和 CJPagerCtrl.h )
這個類包含了 pager 公用控制元件。要使用它只需在你的視或對話方塊中建立它,然後用你想要將其分頁那個控制元件的的HWND來指定它的子視窗。當建立一個子視窗時,設定pager為它的父視窗。關於如何使用這個類,參見。
CCJTabCtrlBar - ( CJTabCtrlBar.cpp 和 CJTabCtrlBar.h )
這個類基於Dirk Clemens的關於Sizing TabControlBar的論述。 我對其程式碼作了一些擴充套件,以便適應我對CCJControlBar類所作的修改,因為本類是從CCJControlBar類繼承而來的。
CCJToolBar - ( CJToolBar.cpp和CJToolBar.h )
我寫的這個是對CToolBar類的擴充套件。這個類給工具條新增了把手,設定工具條使用的字型,畫了類似於 和 Office產品的3D邊界。此外我還新增了可以把控制元件新增在工具條上的方法(例如組合框和編輯框)。要使用這個類,只要簡單地將CToolBar改為CCJToolBar即可。
CCoolMenuManager -( CoolMenu.cpp, Emboss.cpp 和 CoolMenu.h )
CSubclassWnd -( Subclass.cpp 和 Subclass.h )
由Paul DiLascia寫出。請翻閱1998年1月的MSJ主題。它可能是我所見得實現“酷”選單的最簡單的方法(包含圖示的下拉選單)。 我作了一些小的增強以便解決洩漏的問題。這些類已經被整合到XFrameWnd擴充套件中了。為了能使用“酷”選單,只需要將如下程式碼加入到你的CMainFrame::OnCreate 方法中即可:
CFlatToolBar - ( FlatBar.cpp and FlatBar.h ) 在6.0中已陳舊了
CModuleVersion - ( ModulVer.cpp and ModulVer.h )
這是我的CCJToolBar的基類。這個類是 Paul DiLascia寫的, 能處理絕大多數扁平工具條的伸縮和內部問題。CModuleVersion 被用來檢查當前的公用控制元件dll的版本。
CCoolBar, CRebarInfo - ( CoolBar.cpp 和 CoolBar.h ) 在VC 6.0中已陳舊了
這些程式碼最初是由Paul DiLascia寫的。我對於原始程式碼作了一些增強,這些類被用來建立可重定位的工具條。
CHyink - ( HyperLink.cpp 和 HyperLink.h )
這個類是由Chris Maunder寫的,基於它的關於 Hyperlink 控制元件的文章。我使用這個類來在“關於”對話方塊中新增超級連結。我作了一個小的修改,那就是將 "GotoURL" 函式從 protected型變為public。這將允許該函式被直接而不用經過一個靜態。
本不提供任何明白的或是暗示的擔保,你必須承擔使用它的全部風險。
作者不承擔任何由於使用本產品所遭受到的資料破壞和丟失的責任。
感謝:
沒有下面這些人的努力,本程式碼不可能成為免費的:
- to:cristi@gds.ro">Cristi Posea - 對於寫出瞭如此酷的CSizingControlBar類。
- - 對於某些從他的CToolBarEx類中來的主意,我利用來做出了3D邊界和在工具條中使用控制元件。
- .com">Shekar Narayanan -對於他的酷選單,從中我獲得了寫出 CCJOutlookBar控制元件的靈感。
- - 對於他的可伸縮的TabControlBar類,我的CCJTabCtrlBar就基於此。
- - 對於他在MSJ的所有傑出的工作,並且他使我們得到了他的。
- - 對於使用了他的CHyperLink控制元件。
- - 對於建設這樣一個優秀的網站 (),而且使得所有那些酷的MFC資源為我們所用。
- 還用感謝你們讓我無法停息直到我為VC6升級了這個庫。我感謝所有這些建議和電子郵件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987494/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++ 對C的擴充套件有哪些C++套件
- Bundler和Minifier Visual Studio擴充套件Nifi套件
- 想在 Visual Studio Code 裡進行 ABAP 開發,需要安裝的擴充套件列表套件
- C++對C語言的擴充套件(1)--引用C++C語言套件
- Web編譯器Visual Studio擴充套件Web編譯套件
- DLR 的擴充套件庫 Dynamitey套件MIT
- Java SE(12) 擴充套件——進位制轉換Java套件
- tf.tile()進行張量擴充套件套件
- Spring(11) - Introductions進行類擴充套件方法Spring套件
- 進行Windows Azure SQL Database的水平擴充套件GVWindowsSQLDatabase套件
- ASP.NET Core擴充套件庫之Http通用擴充套件ASP.NET套件HTTP
- 如何透過連線資料庫的方式對線下應用進行線上擴充套件資料庫套件
- MFC功能擴充套件控制元件BCGSuite for MFC釋出v27.1|附下載套件控制元件UI
- 使用 Visual Studio Code SQLite 擴充套件來瀏覽 SAP CAP 資料庫SQLite套件資料庫
- Visual C++ MFC 中常用巨集的含義C++
- 對xxl-job進行simpleTrigger並動態建立任務擴充套件套件
- Visual Studio 的碼雲擴充套件 V1.0.85 釋出套件
- dart系列之:你的地盤你做主,使用Extension對類進行擴充套件Dart套件
- 如何使用 SEGW 的 redefine 功能對 SAP 標準 OData 服務進行擴充套件套件
- 使用Apache Kafka對電子商務系統進行擴充套件的思路 - BogdanApacheKafka套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- C 擴充套件庫 – mysql API套件MySqlAPI
- 使用cython擴充套件python庫套件Python
- 擴充套件我們的分析處理服務(Smartly.io):使用 Citus 對 PostgreSQL 資料庫進行分片套件SQL資料庫
- aardio教程) 搭建自己的擴充套件庫倉庫套件
- 如何針對多租戶 SaaS 使用案例擴充套件機器學習推理套件機器學習
- 基於C++和Rust兩種方式擴充套件nodejs對比C++Rust套件NodeJS
- 微軟更新 | 一款針對 Chrome 和 Firefox 的擴充套件,你值得擁有!微軟ChromeFirefox套件
- ASP.NET Core擴充套件庫之實體對映ASP.NET套件
- 對Date的擴充套件,將 Date 轉化為指定格式的String套件
- [擴充套件推薦]簡體轉繁體/繁體轉簡體 OpenCC-PHP 擴充套件套件PHP
- .Net core Worker Service 擴充套件庫套件
- MySQL中InnoDB引擎對索引的擴充套件MySql索引套件
- 在 Visual Studio 市場中釋出專案擴充套件套件
- 【譯】Visual Studio 17.10 釋出了新版擴充套件管理器套件
- Visual Studio Code Active File in StatusBar 擴充套件以及 Extension API 概述套件API
- PHP的SPL擴充套件庫(三)迭代器PHP套件
- PHP的SPL擴充套件庫(四)函式PHP套件函式
- Airtel選擇Tejas進行光學網路擴充套件AI套件