自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (19)
  • 收藏
  • 关注

原创 VC++界面编程之--仿Facebook透明登录窗口

使用VC++ DUIEngine制作一个Facebook的半透明登陆窗口。

2014-05-30 11:24:32 3220

原创 VC++DUIEngine界面编程1--学习编译及配置DUIEngine项目

1. 为什么要用DUIEngine:DUIEngine的作者是:启程软件。在此感谢他为此项目所付出的心血,能为我们这些界面爱好者,奉献了宝贵的时间以及优秀的代码。DUIE的优势为:1. 作者将金山的BKWin进行了深度改写,从而使之更易于使用和开发。相比传统的WTL而言,DUIE增加了许多窗口特效,如动态缩放窗口,3D界面旋转。从而使开发者能够在较短时间内开发出比较炫丽的界面特效。

2014-05-24 12:28:57 5124

原创 Visual Studio 2012安装VASSISTX插件后导致CPU高的解决办法

笔者一直都喜欢用VAX插件来做C++的开发,但发现VS2012安装了VAX后,CPU占用超级高,有时界面卡死得非常厉害。我卸了又装,升级最新版,都不管用。直到有天,看到网友说:VS2012的sdf文件和pch文件夹很大,可以设置个临时目录进行存放,以便及时删除而节约硬盘空间。所以我也跟着做了如下设置:在选项->文本编辑器->C/C++->高级里,把回退位置设为TRUE,并指定了回退位置的保

2014-10-20 13:38:47 3280 1

翻译 VC++界面编程之--托盘图标无缘无故被隐藏的原因

有时我们创建的托盘图标会无缘无故的消失了,搜索了下谷歌,发现是explorer.exe有时会记不住增加的托盘图标,当它记不住时,会发送消息询问窗口:有没有需要增加托盘图标的?然后你的窗口重新做一次增加托盘图标的动作即可。以下是原文:When you’re a programmer, it seems like you learn something new every day. One o

2014-09-25 17:58:12 2324

原创 VC++界面编程之--实现工具栏自定义皮肤

工具栏的工作原理就是:首先在父窗口上创建一个子窗口,然后在一个子窗口上创建不同ID的按钮,当用户点击某个按钮时,就会以一个命令的方式通知父窗口:我被点击了。所以我沿着这个思路,制作了一个自定义皮肤的工具栏。该工具栏包含了:①自定义背景图片、②自定义按钮图片、③自定义ToolTips、④动态增加按钮,等几个主要功能。当鼠标移动到某个工具栏按钮上上时,会动态切换按钮状态,并出现自定义的ToolTips。

2014-02-28 11:33:40 3528

原创 Boost编程之--慎用线程的this_thread::yield()方法

Boost 线程中的yield方法其实就是::Sleep(0)。Sleep会交出CPU时间片,允许其他线程运行,但“其他线程”也包含了交出CPU时间片的那个线程。想要更好的进行线程切换,不能够使用Sleep,而应采用线程锁或其他线程切换方法。

2014-02-25 17:25:06 11731 11

原创 VC++界面编程之--实现一个画板并提供文字输入功能(MsPaint)

画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。必要时还得提供UnDo功能,供用户取消上一次绘制的功能。利用业余时间,我制作了一个画板程序,包含了以下几个功能:1. 可动态拉伸及移动位置的编辑框,供用户输入文字。2. 可画直线,圆圈,箭头,线段及线条。3. 可使用CTRL+Z组合键,撤销上一次的绘制。

2014-02-25 10:59:48 5658

原创 Boost编程之--使用thread类提高线程开发效率

用Windows API写线程,最痛苦的莫过于:1. 记不住CreateThread长长的参数,对于普通人,参数超过3个,就变得很难记住了。2. 线程参数表只有一个LPVOID,多参数情况下,我需要将其封装在类或者结构体里。3. 变量的同步与异常处理。

2014-02-24 15:55:50 2160

原创 VC++界面编程之--自定义CEdit(编辑框)皮肤

自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事:1. CEdit光标的处理;2. 当是密码提示时,需要弹窗提示用户大写打开。3. 需要处理窗口文字的滚动。这样看来,工作量会很大,而且效果也不一定好。我这里想到相对比较好的解决方案是:子窗口+透明边框的CEdit。子窗口负责皮肤的绘制,而CEdit负责处理用户的输入。这样一来,可以利用到CEdit原有的

2013-10-14 22:18:28 5795

原创 VC++界面编程之--使用分层窗口实现界面皮肤

使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果。在很多情况下,界面的漂亮与否,取决于PS的制作及创意,而界面编程所需要做的就是将图片完整无缺的展示给用户。分层窗口带来的不便之处就是:你对窗口的操作都是介于两个窗口之间的,所以你需要在此上面多花费一些功夫,比如移动窗口,实际是移动两个窗口。再比如正常窗口调用CenterWindow,实际是让CThemedLayerWnd来移动窗口,你不得不重写Cent

2013-10-07 10:38:06 4042 8

原创 STL编程之--静态变量初始化方法

静态变量在STL模板编程中,总是让新手摸不着头脑,STL奇奇怪怪的语法再加上初始化的特定语法,的确让我在初学STL时吃了不少苦头。如果你发现自己写的类中由于静态变量引起的LNK2001的链接错误,那么很有可能你和我遇到了相同的错误。静态变量的初始化分为两种方式:1.在普通类中定义的静态变量初始化。 2. 在STL模板中定义的静态变量初始化。下面将分别说明在这两种情况下,应该如何正确的初

2013-09-27 16:16:10 2453

原创 VC++界面编程之--阴影窗口的实现详解

对于我们这些控件狂来说,窗口阴影也是一个必不可少的实现需求。虽说其没多大用,但对于增加窗口立体感来说,那是挺有帮助的。我实现了一个类似于360界面的阴影效果,其可以支持正常窗口,也支持半透明窗口。阴影窗口对于正常窗口和半透明窗口,有区别么?且让我慢慢写来:)阴影窗口的实现原理,简单来讲:就是在主窗口创建时,创建一个子窗口,吸附于主窗口的底部。然后在子窗口上做一个带半透明阴影效果的描

2013-09-14 20:01:31 8899 15

原创 VC++界面编程之--自定义标签控件(CStatic)皮肤

IPhone聊天泡泡是个很不错的控件,因为它能很友好的给用户一些简短的提示信息,而不失美观。我也想将这个泡泡,加到我的界面上,用做一些小提示:)用什么控件做好呢?当然是CStatic控件啦,我就是喜欢CStatic的简单,易扩展性强。只要你有一个好的GDI描绘创意,就能将其效果弄得千变万化。废话不多说,直接上使用步骤:1. 设置父窗口,用于获取父窗口的背景画刷:

2013-09-09 21:18:13 3717

原创 VC++界面编程之--使用STL auto_ptr管理GDI+对象

界面编程中,我比较关心GDI或GDI+对象的创建与销毁。生怕一个逻辑处理不好,就造成了内存泄漏。以前我用传统的delete操作来销毁GDI+对象,但发现编程实现效果不太好,总让人战战兢兢,而且逻辑比较复杂。如下面这几段代码,我需要时时take care我的Bitmap指针是否是空,是否需要进行销毁:1. 声明一个Bitmap指针,并需初始化为NULL:Bitmap* m_bmpProg

2013-09-09 15:39:47 1640 1

原创 VC++界面编程之--自定义CButton(按钮)皮肤

在VC++ WTL编程中,利用CustomDraw自绘的方法,可以很轻松地实现按钮的自绘效果。我利用了此方法,制作了一个CCustomButton类,实现了如下效果的控件,其支持普通的按钮风格,并也支持CheckBox的风格。实现方法:1. 首先继承CButton模板类及CCustomDraw的模板类。class CCustomButton : public CWindowIm

2013-09-05 20:42:21 11571 6

原创 VC++界面编程之--动态安装字体(CFont)

1. 起因:在界面编程时,我们经常需要用到自定义字体,来使自己的界面更美观。可要是别人电脑上没有你预定义的字体就麻烦了,你的界面字体会被Windows默认字体所取代,然后控件变形、错位等等问题会接踵而至。2. 解决办法:遇到这种情况,我们可以把字体放在Visual Studio的自定义资源中,和exe一起打包。还有一种办法是将字体打包在dll中或者放在一个文件夹中,这样可以减少exe的

2013-08-27 21:08:43 9906 1

原创 LabVIEW让鼠标的光标显示曲线的值

在LabVIEW开发设计中,我们有时候要用到曲线去展现某种数据的走势。当曲线多了或数据量比较大时,光用眼睛去看某个点的值时会觉得比较费劲。虽然LabVIEW提供了游标供我们查看某个曲线点的值,但它是静止不动的,也觉得麻烦。我们要的效果是:鼠标走到哪,数值就跟着显示到哪里,有点像Windows的提示窗。我用XControl做了一个控件,当鼠标移到某条曲线上时就显示该曲线的值,

2013-08-08 21:36:11 13645 2

原创 VC++界面编程之--自定义进度条(CProgressBar)皮肤

历史:我经常在PS设计网站和游戏界面,看到带条纹形状的进度条,看起来比较酷。所以决定实现一个带滚动效果的条纹进度条。经过一段时间的尝试之后,完成了如下效果图,且是带有滚动效果的。实现步骤:1.素材各大素材网站都有界面素材,比较出名的是站酷,从上面下载一份素材,尝试用PS截取你想要的图片吧。我下了一份界面素材,如下图:这些素材都是PSD分层的,可以省去抠图的时间,

2013-07-03 11:18:31 9471 1

原创 VC++界面编程之--获取父窗口背景画刷(附带时钟控件)

在WTL界面编程中,获取父窗口的背景画刷是经常要用到的,如下图的时钟:  时钟是每隔一秒就变化一次,所以当重画时钟时,需要先为其填充背景,以确保上一次描绘的部分被清理干净。当然,我们描绘时钟的图片是用PNG格式制作的,所以其支持透明背景色。但如果不手动清楚背景图片的话,将会变成下面这个样子:  阴影部分越来越浓了,唯一能做的是刷新父窗口,不过这将引起窗口抖动。所以我们需要在每次绘制

2013-06-13 21:51:28 10885 4

VC++界面编程之--仿Facebook透明登录窗口

使用VC++的DUIEngine框架,实现一个仿Facebook的半透明登陆窗口。喜欢DUIEngine的同学可以用来做xml文件配置的参考。

2014-05-30

VC++界面编程之--实现工具栏自定义皮肤

工具栏的工作原理就是:首先在父窗口上创建一个子窗口,然后在一个子窗口上创建不同ID的按钮,当用户点击某个按钮时,就会以一个命令的方式通知父窗口:我被点击了。所以我沿着这个思路,制作了一个自定义皮肤的工具栏。 与之配套的博客:http://blog.csdn.net/rmxming/article/details/20123045

2014-02-28

VC++界面编程之 实现一个画板并提供文字输入功能 MsPaint

画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。必要时还得提供UnDo功能,供用户取消上一次绘制的功能。 利用业余时间,我制作了一个画板程序,包含了以下几个功能: 1. 可动态拉伸及移动位置的编辑框,供用户输入文字。 2. 可画直线,圆圈,箭头,线段及线条。 3. 可使用CTRL+Z组合键,撤销上一次的绘制。 原文博客:http://blog.csdn.net/renstarone/article/details/19901585">画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。必要时还得提供UnDo功能,供用户取消上一次绘制的功能。 利用业余时间,我制作了一个画板程序,包含 [更多]

2014-02-25

VC++ WTL 9.0 安装包

上传一个WTL9.0开发包,以方便个人博客中的VC++ WTL使用。

2014-02-25

深入浅出2D几何学

在界面编程或者机器视觉编程时,我们都或多或少的用到了几何知识。东南大学的深入浅出2D几何书籍,能帮助你更牢固的掌握它们,并运用在实际工作中。 本PDF为高清影印版,且带有章节目录。奉献给喜欢学习的童鞋。 目前国内没有该书的影印版销售,英文原版要100多RMB。

2013-11-30

VC++/WTL 自绘CEedit皮肤

自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/12718283

2013-10-15

VC++自绘CEdit(编辑框)皮肤

自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。 要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事: 1. CEdit光标的处理; 2. 当是密码提示时,需要弹窗提示用户大写打开。 3. 需要处理窗口文字的滚动。 这样看来,工作量会很大,而且效果也不一定好。 我这里想到相对比较好的解决方案是:子窗口+透明边框的CEdit。子窗口负责皮肤的绘制,而CEdit负责处理用户的输入。这样一来,可以利用到CEdit原有的一些特性,以保证原有的效果,并减轻我们开发的工作量。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/12718283

2013-10-15

VC++界面编程之--自定义CEdit(编辑框)皮肤

自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。 要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事: 1. CEdit光标的处理; 2. 当是密码提示时,需要弹窗提示用户大写打开。 3. 需要处理窗口文字的滚动。 这样看来,工作量会很大,而且效果也不一定好。 我这里想到相对比较好的解决方案是:子窗口+透明边框的CEdit。子窗口负责皮肤的绘制,而CEdit负责处理用户的输入。这样一来,可以利用到CEdit原有的一些特性,以保证原有的效果,并减轻我们开发的工作量。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/12718283

2013-10-14

VC++界面编程之--使用分层窗口实现界面皮肤

使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果。 在很多情况下,界面的漂亮与否,取决于PS的制作及创意,而界面编程所需要做的就是将图片完整无缺的展示给用户。 分层窗口带来的不便之处就是:你对窗口的操作都是介于两个窗口之间的,所以你需要在此上面多花费一些功夫,比如移动窗口,实际是移动两个窗口。再比如正常窗口调用CenterWindow,实际是让CThemedLayerWnd来移动窗口,你不得不重写CenterWindow来先移动CThemedAlphaWnd然后再来移动CThemedLayerWnd。 凡事皆有取舍,一切都根据实际需求做出取舍。正如分层窗口一样,丧失了一些正常窗口的普通函数操作能力,但换来了界面皮肤的完美显示。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/12371309

2013-10-07

VC++界面编程之--阴影窗口实现详解

对于我们这些控件狂来说,窗口阴影也是一个必不可少的实现需求。虽说其没多大用,但对于增加窗口立体感来说,那是挺有帮助的。 我实现了一个类似于360界面的阴影效果,其可以支持正常窗口,也支持半透明窗口。 阴影窗口的实现原理,简单来讲:就是在主窗口创建时,创建一个子窗口,吸附于主窗口的底部。然后在子窗口上做一个带半透明阴影效果的描绘。 详情请参见与之配套的博客:http://blog.csdn.net/renstarone/article/details/11661365

2013-09-14

VC++界面编程之--CStatic模仿IPhone聊天泡泡

IPhone聊天泡泡是个很不错的控件,因为它能很友好的给用户一些简短的提示信息,而不失美观。 我也想将这个泡泡,加到我的界面上,用做一些小提示:) 用什么控件做好呢?当然是CStatic控件啦,我就是喜欢CStatic的简单,易扩展性强。只要你有一个好的GDI描绘创意,就能将其效果弄得千变万化。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/11491195

2013-09-09

VC++界面编程之--自绘按钮(CButton)皮肤

在VC++编程中,利用CustomDraw自绘的方法,可以很轻松地实现按钮的自绘效果。 我利用了此方法,制作了一个CCustomButton类,实现了如下效果的控件,其支持普通的按钮风格,并也支持CheckBox的风格。 与之配套的博客:http://blog.csdn.net/renstarone/article/details/11177051

2013-09-05

LabVIEW让鼠标的光标显示曲线的值

在LabVIEW开发设计中,我们有时候要用到曲线去展现某种数据的走势。当曲线多了或数据量比较大时,光用眼睛去看某个点的值时会觉得比较费劲。 虽然LabVIEW提供了游标供我们查看某个曲线点的值,但它是静止不动的,也觉得麻烦。 我们要的效果是:鼠标走到哪,数值就跟着显示到哪里,有点像Windows的提示窗。 我用XControl做了一个控件,当鼠标移到某条曲线上时就显示该曲线的值,如果鼠标不在曲线上就不显示。

2013-08-08

GDI+ 时钟控件

在Windows界面编程中,获取父窗口的背景画刷是经常要用到的,本源代码演示了:如何通过WTL/GDI+绘制一个时钟程序,并演示了如何获取父窗口背景画刷的方法。 该下载文件中包含了一份有关“WTL界面编程之获取父窗口背景画刷”的说明文档。 如有疑问,请参考与之相关的博客:http://blog.csdn.net/renstarone/article/details/9089835

2013-07-18

gdi+绘制带滚动效果的进度条

本资源是用VC++/WTL开发的一个条纹进度条,且带有滚动的动画效果。 以下是本资源附带的博客文章,下载前可以先了解下,谢谢! http://blog.csdn.net/renstarone/article/details/9230763

2013-07-17

WTL时钟控件及获取父窗口背景画刷

在Windows界面编程中,获取父窗口的背景画刷是经常要用到的,本源代码演示了:如何通过WTL/GDI+绘制一个时钟程序,并演示了如何获取父窗口背景画刷的方法。 该下载文件中包含了一份有关“WTL界面编程之获取父窗口背景画刷”的说明文档。 本源代码及文档均为"任明星Ming"原创,欢迎喜欢界面编程及WTL的朋友一起讨论。

2013-06-11

LabVIEW利用OLE自动化读写XML文件

我们为什么要在LabVIEW中使用XML文件?①它是许多服务器数据传输的基本格式,在网络编程中有很大的几率要使用它。②它比ini文件功能强大,它可以编写复杂逻辑关系的数据配置文件,类似一个微型的数据库文件。。。。。。 感谢微软提供了OLE技术,使得不同程序之间可以通过预先指定的接口互相调用。微软提供了MSXML2.0, 4.0 及 6.0动态链接库来支援开发人员读写XML文件。 而LabVIEW正可以通过OLE自动化接口,调用MSXML*.dll动态链接库,完成对XML文件的操作。如果你的系统没有安装MSXML*.dll,可以去网上下载并安装就可以了。论坛中有许多朋友已经使用该方式去读写EXCEL, WORD,ACCESS。 有了OLE接口是不是就能很方便的读写XML文件了呢?不是,因为其中的操作是通过引用(Reference)来完成的,使用引用并不是免费的午餐,你必须时刻提防内存泄露,如果你忘记释放它,那么你就会在任务管理器中看到:你的程序内存消耗在不断的增长。 更要命的是XML文件是以树的方式构成的,从上往下分大致有:Document, root node, node List, node,而node中又包含parent node, child node,你的程序怎么才能组织好对它的调用?想想头都大了,是不是? 还好我们还有面向对象编程,把以上的东西都归下类,发现XML文件就是由Document, node list 和 node组成的,其他的都是根据这三个类派生出来的。那么就定义三个类,分别是CDoc, CNodeList 和 CNode由他们负责来完成对XML文件的操作。更方便的是,对于引用(Reference)的管理也都在这三个类当中完成,这有效地减轻了程序的复杂度。 附件中的程序是用LabVIEW8.5开发的,其中包含了一份Sample.xml文件,供大家测试。 本程序是调用MSXML4.0接口来完成的,如果你系统里没有安装,那么将不能运行该程序。

2011-10-13

用C++创建一个LabVIEW DLL并读取Windows进程和PID

很多时候使用C++编写的DLL能很方便的为LabVIEW提供额外的功能支援,该例子展示了如何使用C++创建并制定一个"LabVIEW类型"的DLL,然后读取Windows的进程。 资源中包含了C++代码和工程文件,及一个LabVIEW2009的演示程序, 安装了比LabVIEW2009低版本的朋友可以根据示例图片创建一个自己的演示程序。

2011-10-01

MFC工具栏编辑器--让你省去手画工具栏的烦恼

很多时候,我很怕写工具栏,因为visual studio只提供了16色的编辑器,如果你想添加点颜色丰富的图片,那只能是噩梦缠身。 现在一个国外大牛写的MFC工具栏编辑器,让你省去编辑MFC工具栏的烦恼。

2010-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除