1.新建乙個基於對話方塊、使用unicode庫的工程,工程名稱sonicuitest;
2.複製isonicui.h檔案到工程目錄下,新增此檔案進工程;
3.複製sonicuiud.dll、sonicuiud_dll.lib和sonicuiu.lib到工程目錄下(這些是自己編譯出來的);
4.在stdafx.h檔案,新增以下**:12
3456
#include
"isonicui.h"
#ifdef _debug
#pragma comment(lib,"sonicuiud_dll") //除錯時用debug動態庫
#endif
#pragma comment(lib,"sonicuiu") //發布時用release靜態庫(目錄下還需其他支援庫)
using
namespace sonic_ui;
5.在對話方塊標頭檔案,新增以下**: 1
234
protected:
isonicwndeffect* g_peffect; //視窗的效果引擎
isonicstring* g_ptext[2]; //以關鍵字格式化字串
void onclose(isonicstring * pstr, lpvoid); //委託關閉
6.在對話方塊建構函式,新增以下**: 1
23g_peffect = null;
g_ptext[0] = null;
g_ptext[1] = null;
7.在對話方塊oninitdialog初始化函式裡,新增以下**: 01
0203
0405
0607
0809
1011
1213
1415
1617
1819
2021
2223
2425
bool csonicuitestdlg::oninitdialog()
8.新增窗體變換後的委託事件**: 1
234
void csonicuitestdlg::onclose(isonicstring * pstr, lpvoid)
9.窗體上新增3個按鈕,事件分別如下: 01
0203
0405
0607
0809
1011
1213
1415
1617
void csonicuitestdlg::onbnclickedmovebutton()
void csonicuitestdlg::onbnclickedalphabutton()
void csonicuitestdlg::onbnclickedaniclosebutton()
10.在對話方塊onpaint()函式裡面繪製文字,新增以下**: 01
0203
0405
0607
0809
1011
1213
141516
void csonicuitestdlg::onpaint()
else }
11.編譯、執行程式,截圖如下:
sonicui對異形窗體,自繪按鈕等的支援。
1.首先準備素材檔案,一張png背景圖和一張png按鈕,匯入到上面工程的資源裡面,vs2008會自動分辨為「png」資源型別名。
再加入一張動態gif頭像,加入到新建「image」資源型別,id號為gif_userhead。再從「資源檢視」開啟idd_aboutbox對話方塊,刪除預設控制項,新增兩個edit控制項,設定其屬性border為false、multiline為true、want return為true。
2.在對話方塊的實現檔案,類caboutdlg裡面新增以下**:12
3456
7 protected:
isonicstring* g_pbutton; //自繪按鈕
isonicimage* g_pimgbutton; //自繪按鈕
isonicimage* g_pimgbg; //背景
isonicimage* g_pimguserhead; //頭像
isonicanimation* g_puserhead; //頭像動畫
void onclose(isonicstring* pstr, lpvoid); //委託關閉事件
3.過載caboutdlg的wm_paint訊息函式,剩下的**如下: 01
0203
0405
0607
0809
1011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
3637
3839
4041
4243
4445
4647
4849
5051
525354
bool caboutdlg::oninitdialog()
void caboutdlg::onpaint()
void caboutdlg::onclose(isonicstring * pstr, lpvoid)
4.編譯、執行程式,截圖如下:
SonicUI在MFC中的使用
1.新建乙個基於對話方塊 使用unicode庫的工程,工程名稱sonicuitest 2.複製isonicui.h檔案到工程目錄下,新增此檔案進工程 3.複製sonicuiud.dll sonicuiud dll.lib和sonicuiu.lib到工程目錄下 這些是自己編譯出來的 4.在stdafx...
CGridCtrl在MFC中的使用
使用cgridctrl需要將原始碼中的將gridctrl src資料夾和newcelltypes內的所有檔案新增到自己的工程當中。建立基於對話方塊的mfc工程,選擇custom control拖動到對話方塊上,如下圖所示 在控制項的屬性對話方塊中設定class屬性為mfcgridctrl 必須 控制...
MFC事件在多執行緒中的使用
handle mthreadeventdead mthreadeventdead createevent null,true,false,null 上面建立了乙個事件,createevent的具體使用如下。handle winapi createevent in opt lpsecurity att...