cjstyles文件下載(CJA文件)

本文目錄一覽:

VB美化窗體問題。

Dlg.FileName ?

Dlg是什麼東西。既然你定義了Filename。為何還要加個dlg。

刪掉“Dlg.”即可。

P2P終結者 不能使用問題!請高手幫忙!

你換個版本試試,你可以找找一個版本叫做p2p終結者官方免費版,如果找不到可以到google上搜,關於這個它上面提供的內容比較多些。如果還裝不上請重裝系統後裝,因為p2p可能會與相關的系統註冊表相關聯。

還有記得叫局域網內那台沒裝殺軟的把殺軟裝上,因為局域網的病毒是可以互相傳播的。

在弄VB界麵皮膚時出現的實時錯誤424

你把Office2007.cjstyles這個文件放到根目錄下。

我懷疑

1是中文名稱問題

2是目錄里有空格

vb怎麼加載皮膚

轉載此出處

說到換膚,我們腦子當中可能就會浮現很多商業軟件那些漂亮的皮膚,自從XP流行以來,程序的外觀變得比以往更加引人注意,像Office 系列的界面,一直是很多程序員模仿的範例,今天我就利用Xtreme Suite Pro ActiveX 輕鬆的給自己程序加上皮膚應用功能,為我們自己的程序增色。

目標:製作一個具有換膚功能的程序,程序界面模仿Office 2007樣式

一、準備工作

1、開發工具VB6,當然也可以用.Net,這裡以VB6做示例

2、Xtreme Suite Pro ActiveX 12英文正式版

下載地址為:

Part1:

Part2:

二、工具安裝

1、VB6的安裝不多說

2、將上述下載地址的兩個文件下載後放在同一個目錄下,然後解壓Part1,解壓完成後,可以看到一個setup.exe文件,按提示安裝,其中Sn在對應的文本中,注意我們選用的Sn為Xtreme Suite Pro ActiveX v12.0.1 英文正式版的,Xtreme Toolkit Pro v12.0.1是針對MFC的,不要輸入錯誤。

現在假設Xtreme Suite Pro ActiveX 按照默認方式已安裝成功,那邊我們可以進入到下一步了。

三、正式開始

1、新建一個VB6的EXE工程

2、在工具欄上點擊右鍵找到部件,因為Xtreme Suite Pro ActiveX 已安裝成功,所以我們可以看到部件引用中有如下內容

(圖1)

勾中xtreme SkinFramework ActiveX Control 12.0.1,此時我們的界面當中應該可以看到類似下面的圖片

(圖2)

到這裡,我們的準備工作已完全準備妥當,下面是關鍵的代碼,我們將其放在Form_Load事件中

Private Sub Form_Load()

Dim FileName as string

Dim IniFile as string

FileName =”C:/Program Files/Codejock Software/ActiveX/Xtreme SuitePro ActiveX v12.0.1/Samples/SkinFramework/Styles/Office2007.cjstyles”

IniFile=”NormalBlue.ini”

SkinFramework1.LoadSkin Dlg.FileName, IniFile

SkinFramework1.ApplyWindow Me.hWnd

SkinFramework1.ApplyOptions = SkinFramework1.ApplyOptions Or xtpSkinApplyMetrics

End Sub

這裡我們利用SkinFramework的LoadSkin方法找到指定的皮膚文件,然後再調用ApplyWindow方法,並且設置了ApplyOptions 屬性,注意這裡的設置其實就是SkinFramework的默認值。

按F5運行工程,出現在我們眼前的界面將是下面這個樣子了

(圖3)

簡單的引用,簡單的代碼,出現在我們面前的卻已經是如此漂亮的界面,到這裡我們已大告功成了。

四、擴展

Xtreme Suite Pro ActiveX 的SkinFramework 不但支持以cjstyles為擴展的皮膚文件,同時也支持XP的themes文件,即以msstyles為擴展名的文件,知道了這點我們的皮膚來源就非常廣了。

下面為大家推薦一個地方,裡面有很多免費的皮膚

安裝完Xtreme Suite Pro ActiveX ,官方即包含Office2007.cjstyles,Vista.cjstyles,WinXP.Luna.cjstyles,WinXP.Royale.cjstyles四個皮膚文件,同一個皮膚文件中可能包含幾個配置文件,比如Office2007.cjstyles就包含NormalBlue.ini 、NormalAqua.ini 、NormalSilver.ini 、NormalBlack.ini 四個配置文件,可以放在LoadSkin方法的第二個參數中,就可以顯示不同配置文件所達到的不同皮膚的效果。

為了讀取皮膚文件所包含的配置文件,我們可以用下面的方法

Dim Discription As SkinDescription

Dim i As Integer

Dim FileName as string

FileName =”C:/Program Files/Codejock Software/ActiveX/Xtreme SuitePro ActiveX v12.0.1/Samples/SkinFramework/Styles/Office2007.cjstyles”

Set Discription = SkinFramework1.EnumerateSkinFile(FileName )

For i = 0 To Discription.Count – 1

debug.print “IniFile:” Discription.IniFile(i).IniFileName “/ColorScheme:” Discription.IniFile(i).ColorScheme _

“/FontSize:” Discription.IniFile(i).FontSize

Next

寫到這裡,我們才真正搞定了皮膚的開發,為了大家的使用方便,我特意寫了一個示例程序

下載地址為:

另外這裡包含了幾個皮膚文件:

有興趣的可以參考一下

如何學習codejock toolkitpro

1,確定你已經裝好了XTP。

2,修改目錄:工具/選項/目錄

1

include files : D:Microsoft Visual StudioXtreme ToolkitPro v11.2.2Source

2

librarys files : D:Microsoft Visual StudioXtreme ToolkitPro v11.2.2Libvc60

3,工程/設置/C++ 在工程選項裡面添加:/Zm200 注意大小寫。

4,在stdAfx.h裡面添加:#include XTToolkitPro.h

5,在Dialog.h文件中,Dialog定義的地方改為:

1

#define CDialogSampleDlgBase CXTPDialogBaseCXTResizeDialog

2

class CCardManageDlg : public CDialogSampleDlgBase{

3

public:

4

。。。

5

}

6,在Dialog構造函數實現的地方改為:

1

CCardManageDlg::CCardManageDlg(CWnd* pParent /*=NULL*/)

2

: CDialogSampleDlgBase(CCardManageDlg::IDD, pParent)

3

{。。。

4

}

7,dialog構造函數實現內,預先配置:

1

XTPSkinManager()-SetApplyOptions(XTPSkinManager()-GetApplyOptions() | xtpSkinApplyMetrics);//這句必須有,

2

XTPSkinManager()-LoadSkin(_T(“Office2007.cjstyles”));//這句是設置一種風格,Office2007.cjstyles是風格文件名,要拷貝過來。

8,增加變量:

1

BOOL m_bInRepositionControls, m_bInitDone;

2

CRect m_rcBorders;

用於第9,10步中,重新設置組件位置和大小。

9,在initdialog裡面添加:

1

VERIFY(InitCommandBars());//XTP帶,預處理,不可少。

CXTPCommandBars* pCommandBars = GetCommandBars();//CXTPCommandBars管理TOOLBAR,Menu和status.

/***開始添加菜單***/

01

pCommandBars-SetMenu(_T(“Menu Bar”), IDR_MENU1);

02

CXTPToolBar* pToolBar = pCommandBars-Add(_T(“Standard”), xtpBarTop);

03

pToolBar-LoadToolBar(IDR_MAINFRAME);

04

05

06

XTPImageManager()-SetIcons(IDR_MAINFRAME);//圖標

07

08

09

pCommandBars-GetCommandBarsOptions()-ShowKeyboardCues(xtpKeyboardCuesShowWindowsDefault);//額外的。

10

pCommandBars-GetToolTipContext()-SetStyle(xtpToolTipOffice);//額外的。

11

// pCommandBars-GetShortcutManager()-SetAccelerators(IDR_ACCELERATOR);//快捷鍵

12

13

14

LoadCommandBars(_T(“CommandBars”));//XTP必須

/****下面是為解決MENU和TOOLBAR引起的錯位,通過迭代對所有子組件重拍******/

01

CWnd* pwndChild = GetWindow(GW_CHILD);

02

while (pwndChild)

03

{

04

SetResize(pwndChild-GetDlgCtrlID(), SZ_TOP_LEFT, CXTResizePoint( 0, 0) );

05

//0,0表示水平和豎直方向都不縮放。

06

pwndChild = pwndChild-GetNextWindow();

07

}

08

09

10

m_bInitDone = TRUE;

11

RepositionControls();//重設組件位置和大小,實現見10.

12

13

14

m_szMin = m_szWindow;

15

AutoLoadPlacement(_T(“Placement”));

10,實現RepositionControls();//重設組件位置和大小,無需看,直接複製。

01

void CCardManageDlg::RepositionControls()

02

{

03

if (m_bInRepositionControls || !m_bInitDone)

04

return;

05

06

07

CRect rcClientStart;

08

CRect rcClientNow;

09

GetClientRect(rcClientStart);

10

11

12

if ((GetStyle() WS_MINIMIZE) || (rcClientStart.IsRectEmpty()))

13

return;

14

15

16

m_bInRepositionControls = TRUE;

17

RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0, reposQuery, rcClientNow);

18

CRect rcBorders(rcClientNow.left – rcClientStart.left, rcClientNow.top – rcClientStart.top, rcClientStart.right – rcClientNow.right, rcClientStart.bottom – rcClientNow.bottom);

19

20

21

if (rcBorders != m_rcBorders)

22

{

23

CPoint ptOffset(rcBorders.left – m_rcBorders.left, rcBorders.top – m_rcBorders.top);

24

CSize szOffset(rcBorders.left + rcBorders.right – m_rcBorders.left – m_rcBorders.right,

25

rcBorders.top + rcBorders.bottom – m_rcBorders.top – m_rcBorders.bottom);

26

27

CRect rcWindow;

28

GetWindowRect(rcWindow);

29

rcWindow.BottomRight() += szOffset;

30

31

Offset(ptOffset);

32

m_szWindow += szOffset;

33

m_szMin += szOffset;

34

35

MoveWindow(rcWindow, TRUE);

36

}

37

38

39

m_rcBorders = rcBorders;

40

RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

41

m_bInRepositionControls = FALSE;

42

}

11,添加狀態欄的方法:

狀態欄變量:CXTPStatusBar m_wndStatusBar;

在ONinitdialog裡面加:

1

if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)))

2

{

3

TRACE0(“Failed to create status barn”);

4

return -1; // fail to create

5

}

6

7

8

m_wndStatusBar.SetPaneInfo(0, ID_SEPARATOR, SBPS_STRETCH, 100);

在合適的地方調用m_wndStatusBar.SetWindowText(lpsz);即可設置顯示文本

/***下面這句有時間看看**/

1

LRESULT CDialogSampleDlg::OnKickIdle(WPARAM, LPARAM)

2

{

3

if (GetCommandBars())

4

GetCommandBars()-UpdateCommandBars();

5

if (m_wndStatusBar.GetSafeHwnd())

6

m_wndStatusBar.SendMessage(WM_IDLEUPDATECMDUI, TRUE);

7

return 0;

8

}

最小使用方法:

1. 在stdafx.h文件中加入:

1

#include XTToolkitPro.h

2. 在對話框構造函數中加入:

1

XTPSkinManager()-LoadSkin(_T(“Office2007.cjstyles”));

3. 動態創建的控件或者是沒有自動使用皮膚的控件使用下面語句強制使用皮膚

1

XTPSkinManager()-ApplyWindow(myCtrl-m_hWnd);

VB如何去掉每行的兩邊空格部分?

Trim函數會返回出去空格後的結果,你的代碼只是調用了這個函數,sStr並沒有改變,應該是sstr=trim(sstr),另外sStr好像trim之後沒用吧? zl_Click改後結果如下:

Private Sub zl_Click()

Dim lLine%

If Trim(xx.Text) = “” Then

Cls

Print “無內容”

Else

lLine = SendMessage(xx.hWnd, EM_GETLINECOUNT, 0, 0)

Dim sStr As String

Dim a As Integer

a = “0”

For a = 0 To (lLine – 1)

GetOneTextBoxLine xx.hWnd, a, sStr

sStr = Trim(sStr)

Next

Cls

Print “共” lLine “個行”

End If

End Sub

想讓vb界面更漂亮些,可以用外部美化控件:SkinFramework.ocx,網上很多種它的主題可以下載(cjstyles文件),使用也很簡單,如下面代碼放到啟動窗體的Form_Initialize中,則在啟動窗體之後的窗體都會以這種主題顯示:

FileName = App.Path “\Vista.cjstyles”

With SkinFramework1

.LoadSkin FileName, “”

.AutoApplyNewWindows = True

.AutoApplyNewThreads = True

.ApplyWindow Me.hwnd

.ApplyOptions = .ApplyOptions Or xtpSkinApplyMetrics Or _

xtpSkinApplyFrame Or _

xtpSkinApplyColors

End With

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/276661.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-19 13:20
下一篇 2024-12-19 13:20

相關推薦

  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 為什麼用cmd運行Java時需要在文件內打開cmd為中心

    在Java開發中,我們經常會使用cmd在命令行窗口運行程序。然而,有時候我們會發現,在運行Java程序時,需要在文件內打開cmd為中心,這讓很多開發者感到疑惑,那麼,為什麼會出現這…

    編程 2025-04-29
  • Python將矩陣存為CSV文件

    CSV文件是一種通用的文件格式,在統計學和計算機科學中非常常見,一些數據分析工具如Microsoft Excel,Google Sheets等都支持讀取CSV文件。Python內置…

    編程 2025-04-29
  • Python zipfile解壓文件亂碼處理

    本文主要介紹如何在Python中使用zipfile進行文件解壓的處理,同時詳細討論在解壓文件時可能出現的亂碼問題的各種解決辦法。 一、zipfile解壓文件亂碼問題的根本原因 在P…

    編程 2025-04-29
  • Python如何導入py文件

    Python是一種開源的高級編程語言,因其易學易用和強大的生態系統而備受青睞。Python的import語句可以幫助用戶將一個模塊中的代碼導入到另一個模塊中,從而實現代碼的重用。本…

    編程 2025-04-29
  • Python合併多個相同表頭文件

    對於需要合併多個相同表頭文件的情況,我們可以使用Python來實現快速的合併。 一、讀取CSV文件 使用Python中的csv庫讀取CSV文件。 import csv with o…

    編程 2025-04-29
  • Python寫文件a

    Python語言是一種功能強大、易於學習、通用並且高級編程語言,它具有許多優點,其中之一就是能夠輕鬆地進行文件操作。文件操作在各種編程中都佔有重要的位置,Python作為開發人員常…

    編程 2025-04-29

發表回復

登錄後才能評論