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/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中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

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

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 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

发表回复

登录后才能评论