首先,我们需要在StdAfx.h增加头文件:

#include "XTToolkitPro.h"

#include "XTPResource.h"

在test.rc2增加:

#include "XTToolkitPro.rc"

我们先来使用一下CXTTPButtonbutton控件:

在对话框资源中拖入一个标准button控件:

在对话框头文件testDlg.h中增加一个CXTTPButton控件变量:

CXTPButton xbtn;

最好放在//Dialog data中间

在testDlg.cpp中将控件变量与控件ID进行DDX绑定:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHAzMTAwMTg5MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

好了编译执行即可了。

之后我们还能够在OnInitDialog()中通过调用CXTTPButton的方法来设置button控件的各种属性。

以下我们再来通过标准控件中的Custom Control来使用xtremetoolkitPro中更炫酷的控件了:

和上面的步骤一样。我们先加入两个Custom Control控件:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHAzMTAwMTg5MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

设置左边的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绑定:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHAzMTAwMTg5MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

好了,编译执行结果例如以下:

能够看到XTTPButton与右边的确定。取消button是不同的。且加入消息响应也与标准控件和同样。

当然了,我们还能够再从这些xtremetoolkit控件类中派生新的类。来子类化我们自己的类。来为它加入很多其它的功能。

以下再说说上面Class的设置值是从哪里得来的:

首先请大家看看使用Custom Control的博文 :http://blog.csdn.net/hbxtlhx/article/details/3931663

这样我们就知道Class属性是我们注冊的窗体类的名字,好了,如今我们看看CXTPSyntaxEditCtrl.cpp的源代码:

我们搜索一下窗体注冊的那部分代码:

能够搜索找到以下这一段:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHAzMTAwMTg5MzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

看到窗体注冊名是一个宏定义:XTP_EDIT_CLASSNAME_EDITCTRL

好了。以下我们要找的就是这个宏定义所代表的字符串了:

我们打开同一文件夹下的XTPSyntaxEditDefines.h文件

搜索得到例如以下结果:

能够看到该CXTPSyntaxEditCtrl控件的注冊名就是”CodejockSyntaxEditor“了。这就是为什么我们上面要将控件的Class的属性此值的原因了。

写这篇博文仅仅是想记录下来以便日后查阅,有什么写得不好的地方望各位大牛们指正,也给指引一下那些跟我一样的同志们更高速的学习。

作者:http://blog.csdn.net/lp310018931

版权声明:本文博客原创文章,博客,未经同意,不得转载。

在vc正在使用xtremetoolkit接口库-----使用简单的控制的更多相关文章

  1. 在vc中使用xtremetoolkit界面库-----安装及环境配置

    近期想用一下xtremetoolkitPro界面库.网上的使用教程资源也不多,当中着实遇到了很多的困难,毕竟是首次使用. 首先当然是配置发开环境了: 我使用的是vc6.0+xtremetoolkitP ...

  2. Python C/C++ 拓展使用接口库(build-in) ctypes 使用手册

    Python C/C++ 拓展使用接口库(build-in) ctypes 使用手册 ctypes 是一个Python 标准库中的一个库.为了实现调用 DLL,或者共享库等C数据类型而设计.它可以把这 ...

  3. VC中加载LIB库文件的三种方法

    VC中加载LIB库文件的三种方法 在VC中加载LIB文件的三种方法如下: 方法1:LIB文件直接加入到工程文件列表中   在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中&quo ...

  4. 使用远程接口库进一步扩展Robot Framework的测试能力

    引言: Robot Framework的四层结构已经极大的提高了它的扩展性.我们可以使用它丰富的扩展库来完成大部分测试工作.可是碰到下面两种情况,仅靠四层结构就不好使了: 1.有些复杂的测试可能跨越多 ...

  5. RobotFrameWork接口项目分层及通用控制方式

    1. 前言 上一篇文章介绍了在设计接口用例之前应遵守的设计规范,详见<RobotFramework接口设计规范>,当然读者公司的内部规范也不一定非得完全遵循笔者所提到的,适合自己公司内部的 ...

  6. 我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍

    GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/And ...

  7. python网络爬虫(三)requests库的13个控制访问参数及简单案例

    酱酱~小编又来啦~

  8. seldom 2.0 让接口自动化测试更简单

    前言 HTTP接口测试很简单,不管工具.框架.还是平台,只要很的好的几个点就是好工具. 测试数据问题:比如删除接口,重复执行还能保持结果一致,必定要做数据初始化. 接口依赖问题:B接口依赖A的返回值, ...

  9. spi接口的ds1302时钟芯片控制在lcd1602上显示

    spi接口的ds1302时钟芯片控制在lcd1602上显示                                                                        ...

随机推荐

  1. POJ 2586:Y2K Accounting Bug(贪心)

    Y2K Accounting Bug Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10024 Accepted: 4990 D ...

  2. oracle 12c 三学习 pdb 可插拔测试

    DECLARE l_result BOOLEAN; BEGIN l_result := DBMS_PDB.check_plug_compatibility( pdb_descr_file => ...

  3. uitableView 选择跳过后, 跳回 颜色变化 问题

    今天遇到这个问题  谁也因此没有满足这方面的需求 今天会见 网上办理登机手续 未找到 好 我只能说自己的问题 但 幸好,kai哥 就攻克了 ! 就是在- (void)tableView:(UITabl ...

  4. 注意事项: Solr设备 Hello World

    试用 Solr-4.10.2 一 shards, 这两款机器 一是垃圾 rm -r example/solr/collection1/data/* 启动一个 node cd example java ...

  5. js防堵塞载入

    js防堵塞载入 <script type="text/javascript"> function scriptDomElement (u) { var s = docu ...

  6. Discuz 楼主帖子采集

    try { ; i < ; i++) { var html = GetHtmls("http://bbs.fobshanghai.com/viewthread.php?tid=3885 ...

  7. GitLab版本管理(转)

    GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的功能,能够浏览源代码,管理 ...

  8. c#里listview里如何获取点击的是哪一列

    很多时候c#里会用到listview,又会给它添加很多的列,可以设置点击列的标头实现按照这列的内容排序等功能,然而点击不同列排序的方法是不一样的,这时候就需要知道,我到底是点击了哪一列,比如点击名字列 ...

  9. 遗传算法解决旅行商问题(TSP)

    这次的文章是以一份报告的形式贴上来,代码只是简单实现,难免有漏洞,比如循环输入的控制条件,说是要求输入1,只要输入非0就行.希望会帮到以后的同学(*^-^*) 一.问题描述 旅行商问题(Traveli ...

  10. tornado的GET POST方法样品展示

    举例说明get和post该方法的用途: 一.演示样例用的GET方法: import tornado.ioloop import tornado.web class MainHandler(tornad ...