1. 程式人生 > >在vc中使用xtremetoolkit介面庫-----簡單控制元件的使用

在vc中使用xtremetoolkit介面庫-----簡單控制元件的使用

首先我們需要在StdAfx.h標頭檔案中加入:

#include "XTToolkitPro.h"
#include "XTPResource.h"

在test.rc2中加入:

#include "XTToolkitPro.rc"

我們先來使用一下CXTTPButton按鈕控制元件:

在對話方塊資源中拖入一個標準按鈕控制元件:


在對話方塊標頭檔案testDlg.h中加入一個CXTTPButton控制元件變數:

CXTPButton xbtn;

最好放在//Dialog data中間


在testDlg.cpp中將控制元件變數與控制元件ID進行DDX繫結:


好了編譯執行就行了。之後我們還可以在OnInitDialog()中通過呼叫CXTTPButton的方法來設定按鈕控制元件的各種屬性。

下面我們再來通過標準控制元件中的Custom Control來使用xtremetoolkitPro中更炫酷的控制元件了:

和上面的步驟一樣,我們先新增兩個Custom Control控制元件:


設定左邊的Custom Control的ID 為 IDC_EDIT, Class為:CodejockSyntaxEditor (為什麼要設為CodejockSyntaxEditor,我們到後在再說);

設定右邊的Custom Control的ID為 IDC_CALENDAR, Class為:XTPCalendar(後面再講為什麼這樣設定);

好了,我們再在testDlg.h中新增xtremetoolkit控制元件變數:

CXTPSyntaxEditCtrl m_wndDatePicker;
CXTPCalendarControl m_wndCalendar;


同樣在testDlg.cpp中將控制元件變數與控制元件ID進行DDX繫結:


好了,編譯執行結果如下:


可以看到XTTPButton與右邊的確定,取消按鈕是不同的。且新增訊息響應也與標準控制元件和相同。

當然了,我們還可以再從這些xtremetoolkit控制元件類中派生新的類,來子類化我們自己的類。來為它新增更多的功能。

下面再說說上面Class的設定值是從哪裡得來的:

這樣我們就知道Class屬性是我們註冊的視窗類的名字,好了,現在我們看看CXTPSyntaxEditCtrl.cpp的原始碼:

我們搜尋一下視窗註冊的那部分程式碼:

可以搜尋找到下面這一段:


看到視窗註冊名是一個巨集定義:XTP_EDIT_CLASSNAME_EDITCTRL

好了,下面我們要找的就是這個巨集定義所代表的字串了:

我們開啟同一目錄下的XTPSyntaxEditDefines.h檔案

搜尋得到如下結果:


可以看到該CXTPSyntaxEditCtrl控制元件的註冊名就是”CodejockSyntaxEditor“了,這就是為什麼我們上面要將控制元件的Class的屬性此值的原因了。

寫這篇博文只是想記錄下來以便日後查閱,有什麼寫得不好的地方望各位大牛們指正,也給指引一下那些跟我一樣的同志們更快速的學習。