介面程式設計總結(5)

2021-05-24 04:31:41 字數 3360 閱讀 6974

利用介面開發包美化介面

一、skinmagic 

skinmagic toolkit是一套功能強大的介面解決方案庫,我們提倡介面和業務邏輯相分離,將程式設計師從煩瑣的介面設計中徹底解放出來,將精力集中在業務功能的實現上,提高產品的開發效率。網路上的skinmagic版本繁多,而且試用版,破解版並存,各版本之間支援的**檔案也不盡相同,因此經常有人在網上詢問為何新增了skinmagic沒有效果甚至導致程式崩潰之類的問題。這裡有乙個可用的破解版本(包含vc6使用的庫和支援的常用**檔案)skinmagictoolkitv2.2.31

1:檔案說明

skinmagiclib.h 必須的標頭檔案,請新增到工程中。

skinmagic.lib + skinmagic.dll 動態鏈結庫配套使用

編譯時需要在工程中新增skinmagic.dll,程式執行時需要skinmagic.dll

以下版本的編譯出來的程式執行時不再依賴skinmagic.dll

skinmagiclibmd6.lib 靜態鏈結庫,用於vc6的release版編譯

skinmagiclibmt6.lib 靜態鏈結庫,用於vc6的debug版編譯

2:使用步驟

1).把skinmagiclib.h, skinmagiclibmt6.lib, skinmagiclibmd6.lib放到你的vc6工程目錄下

2).在stdafx.h中新增

#include "skinmagiclib.h"

3).在工程設定中新增對應的庫

win32 release中填上skinmagiclibmd6.lib 

win32 debug中填上skinmagiclibmt6.lib

4).在initinstance()函式的開始處新增初始化skinmagic資源的**。

verify(1 == initskinmagiclib(afxgetinstancehandle(), null, null, null));

5).在initinstance()函式中載入**檔案並設定程式**。

你可以選擇新增**檔案到資源中,並編譯到程式中。或者程式在執行時動態載入**檔案

a. 比如新增corona.smf,設定資源型別為"skinmagic",  資源id為idr_skin_corona

cbosskeydlg dlg;

m_pmainwnd = &dlg;

//載入skinmagic**

verify(1 == loadskinfromresource(null, (lpstr)idr_skin_corona, "skinmagic"));

verify(1 == setwindowskin(m_pmainwnd->m_hwnd, "mainframe"));

verify(1 == setdialogskin("dialog"));

int nresponse = dlg.domodalex(bstartshow);

if (nresponse == idok)

else if (nresponse == idcancel)

b. 程式在執行時動態載入**檔案

cbosskeydlg dlg;

m_pmainwnd = &dlg;

//載入skinmagic**

verify(1 == loadskinfile("corona.smf"));

verify(1 == setwindowskin(m_pmainwnd->m_hwnd, "mainframe"));

verify(1 == setdialogskin("dialog"));

int nresponse = dlg.domodalex(bstartshow);

if (nresponse == idok)

else if (nresponse == idcancel)

6).在exitinstance()函式中釋放skinmagic資源

//釋放skinmagic資源:

exitskinmagiclib();

二、skin++

作為勇進軟體的旗幟性產品skin++ for vc版,具有簡單易用、嵌入系統方便、執行穩定、相容性強等特點。提供了所有標準控制項的skin解決方案,可以完美地設計程式每部分的介面細節,完全做到了所見即所得的介面效果,滿足了目前所有的visual c++應用程式介面開發需求。本產品徹底改變了visual c++開發介面難的問題,使用本產品可以對您已有的系統進行方便快捷的介面改造,也可以在系統開發的初期,極大地提高系統開發的進度,並得到滿意的介面效果。

skin++使用方法:

1.載入skin++

0).將skinplusplusdll.lib,skinplusplus.h,xpcorona.ssk都複製到當前目錄

或 在(vc6)"project->settings->link->object/library"中加入skinplusplusdll.lib 

在工程中加入skinplusplus.h檔案。

2).在你的程式中包含標頭檔案

#include "skinplusplus.h"

3).在程式中加入初始化語句initinstance()

initializeskin(_t("xpcorona.ssk");

注:以上假定,如果不是請更改路徑設定。

2.解除安裝skin++

在程式的解除安裝函式中加入exitinstance()

exitskin();

3.更換**

執行函式loadskin即可以實現動態換膚

loadskin(_t("xpcorona.ssk");

4.函式說明

initializeskin是skin++的初始化函式,您可以採用如下引數載入skin++

initializeskin(**檔名);

注:如果**檔名中沒有路徑則採用當前目錄。

loadskin(**檔名);

注:如果**檔名中沒有路徑則採用當前目錄。

5.使用分隔條窗體的應注意的問題

您必須skinplusplus_splitter()和skinplusplus_init_splitter(m_wndsplitter)巨集

注:skinplusplus_init_splitter一般傳入分隔條物件m_wndsplitter

例如:......................

skinplusplus_splitter()

int cmainframe::oncreate(lpcreatestruct lpcreatestruct)  

編譯... 一切搞定 ! 也嘗試過使用其它的介面開發庫,感覺skinfeature是最容易使用的,載入速度最快,穩定性也不錯。

skinfeature動態介面控制項破解版:http://www.winu.cn/htmls/872/110/

總結面向介面程式設計

此處的 介面 與程式語言中的 inte ce 定義稍有不同,面向介面程式設計 中的介面是一種思想層面的用於實現多型性 提高軟體靈活性和可維護性的架構部件,而具體語言中的 介面 是將這種思想中的部件具體實施到 裡的手段。優點 1.可擴充套件性良好.例子 public inte ce hardware ...

PyQt5程式設計 5 啟動介面

pyqt中的qsplashscreen類提供了在程式啟動過程中顯示的啟動畫面的功能當執行程式時,在顯示屏的 出現乙個啟動畫面,經過一段時間,應用程式完成初始化工作後,啟動畫面隱去,出現程式的主視窗介面的功能。建構函式 qsplashscreen qpixmap pixmap qt.windowfla...

專案總結(按照介面程式設計)

原來一直做c的專案開發,系統還算穩定,做了差不多3年,核心的 都重寫了2遍以上。去年開始做新專案,為了提高開發效率,決定上c c 就是好呀,成熟的庫一大堆,於是選定了boost ace作為系統的主要支撐庫。boost還不錯,塊分的很好,團隊學習起來很容易。ace就有點麻煩了,封裝層還算易學,框架層就...