VC++界面编程之--仿Facebook透明登录窗口
使用VC++的DUIEngine框架,实现一个仿Facebook的半透明登陆窗口。喜欢DUIEngine的同学可以用来做xml文件配置的参考。
VC++界面编程之--实现工具栏自定义皮肤
工具栏的工作原理就是:首先在父窗口上创建一个子窗口,然后在一个子窗口上创建不同ID的按钮,当用户点击某个按钮时,就会以一个命令的方式通知父窗口:我被点击了。所以我沿着这个思路,制作了一个自定义皮肤的工具栏。
与之配套的博客:http://blog.csdn.net/rmxming/article/details/20123045
VC++界面编程之 实现一个画板并提供文字输入功能 MsPaint
画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。必要时还得提供UnDo功能,供用户取消上一次绘制的功能。
利用业余时间,我制作了一个画板程序,包含了以下几个功能:
1. 可动态拉伸及移动位置的编辑框,供用户输入文字。
2. 可画直线,圆圈,箭头,线段及线条。
3. 可使用CTRL+Z组合键,撤销上一次的绘制。
原文博客:http://blog.csdn.net/renstarone/article/details/19901585">画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。必要时还得提供UnDo功能,供用户取消上一次绘制的功能。
利用业余时间,我制作了一个画板程序,包含 [更多]
VC++ WTL 9.0 安装包
上传一个WTL9.0开发包,以方便个人博客中的VC++ WTL使用。
深入浅出2D几何学
在界面编程或者机器视觉编程时,我们都或多或少的用到了几何知识。东南大学的深入浅出2D几何书籍,能帮助你更牢固的掌握它们,并运用在实际工作中。
本PDF为高清影印版,且带有章节目录。奉献给喜欢学习的童鞋。
目前国内没有该书的影印版销售,英文原版要100多RMB。
VC++/WTL 自绘CEedit皮肤
自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。
与之配套的博客:http://blog.csdn.net/renstarone/article/details/12718283
VC++自绘CEdit(编辑框)皮肤
自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。
要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事:
1. CEdit光标的处理;
2. 当是密码提示时,需要弹窗提示用户大写打开。
3. 需要处理窗口文字的滚动。
这样看来,工作量会很大,而且效果也不一定好。
我这里想到相对比较好的解决方案是:子窗口+透明边框的CEdit。子窗口负责皮肤的绘制,而CEdit负责处理用户的输入。这样一来,可以利用到CEdit原有的一些特性,以保证原有的效果,并减轻我们开发的工作量。
与之配套的博客:http://blog.csdn.net/renstarone/article/details/12718283
VC++界面编程之--自定义CEdit(编辑框)皮肤
自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个。
要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事:
1. CEdit光标的处理;
2. 当是密码提示时,需要弹窗提示用户大写打开。
3. 需要处理窗口文字的滚动。
这样看来,工作量会很大,而且效果也不一定好。
我这里想到相对比较好的解决方案是:子窗口+透明边框的CEdit。子窗口负责皮肤的绘制,而CEdit负责处理用户的输入。这样一来,可以利用到CEdit原有的一些特性,以保证原有的效果,并减轻我们开发的工作量。
与之配套的博客:http://blog.csdn.net/renstarone/article/details/12718283
VC++界面编程之--使用分层窗口实现界面皮肤
使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果。
在很多情况下,界面的漂亮与否,取决于PS的制作及创意,而界面编程所需要做的就是将图片完整无缺的展示给用户。
分层窗口带来的不便之处就是:你对窗口的操作都是介于两个窗口之间的,所以你需要在此上面多花费一些功夫,比如移动窗口,实际是移动两个窗口。再比如正常窗口调用CenterWindow,实际是让CThemedLayerWnd来移动窗口,你不得不重写CenterWindow来先移动CThemedAlphaWnd然后再来移动CThemedLayerWnd。
凡事皆有取舍,一切都根据实际需求做出取舍。正如分层窗口一样,丧失了一些正常窗口的普通函数操作能力,但换来了界面皮肤的完美显示。
与之配套的博客:http://blog.csdn.net/renstarone/article/details/12371309
VC++界面编程之--阴影窗口实现详解
对于我们这些控件狂来说,窗口阴影也是一个必不可少的实现需求。虽说其没多大用,但对于增加窗口立体感来说,那是挺有帮助的。
我实现了一个类似于360界面的阴影效果,其可以支持正常窗口,也支持半透明窗口。
阴影窗口的实现原理,简单来讲:就是在主窗口创建时,创建一个子窗口,吸附于主窗口的底部。然后在子窗口上做一个带半透明阴影效果的描绘。
详情请参见与之配套的博客:http://blog.csdn.net/renstarone/article/details/11661365
VC++界面编程之--CStatic模仿IPhone聊天泡泡
IPhone聊天泡泡是个很不错的控件,因为它能很友好的给用户一些简短的提示信息,而不失美观。
我也想将这个泡泡,加到我的界面上,用做一些小提示:)
用什么控件做好呢?当然是CStatic控件啦,我就是喜欢CStatic的简单,易扩展性强。只要你有一个好的GDI描绘创意,就能将其效果弄得千变万化。
与之配套的博客:http://blog.csdn.net/renstarone/article/details/11491195
VC++界面编程之--自绘按钮(CButton)皮肤
在VC++编程中,利用CustomDraw自绘的方法,可以很轻松地实现按钮的自绘效果。
我利用了此方法,制作了一个CCustomButton类,实现了如下效果的控件,其支持普通的按钮风格,并也支持CheckBox的风格。
与之配套的博客:http://blog.csdn.net/renstarone/article/details/11177051
LabVIEW让鼠标的光标显示曲线的值
在LabVIEW开发设计中,我们有时候要用到曲线去展现某种数据的走势。当曲线多了或数据量比较大时,光用眼睛去看某个点的值时会觉得比较费劲。
虽然LabVIEW提供了游标供我们查看某个曲线点的值,但它是静止不动的,也觉得麻烦。
我们要的效果是:鼠标走到哪,数值就跟着显示到哪里,有点像Windows的提示窗。
我用XControl做了一个控件,当鼠标移到某条曲线上时就显示该曲线的值,如果鼠标不在曲线上就不显示。
GDI+ 时钟控件
在Windows界面编程中,获取父窗口的背景画刷是经常要用到的,本源代码演示了:如何通过WTL/GDI+绘制一个时钟程序,并演示了如何获取父窗口背景画刷的方法。
该下载文件中包含了一份有关“WTL界面编程之获取父窗口背景画刷”的说明文档。
如有疑问,请参考与之相关的博客:http://blog.csdn.net/renstarone/article/details/9089835
gdi+绘制带滚动效果的进度条
本资源是用VC++/WTL开发的一个条纹进度条,且带有滚动的动画效果。
以下是本资源附带的博客文章,下载前可以先了解下,谢谢!
http://blog.csdn.net/renstarone/article/details/9230763
WTL时钟控件及获取父窗口背景画刷
在Windows界面编程中,获取父窗口的背景画刷是经常要用到的,本源代码演示了:如何通过WTL/GDI+绘制一个时钟程序,并演示了如何获取父窗口背景画刷的方法。
该下载文件中包含了一份有关“WTL界面编程之获取父窗口背景画刷”的说明文档。
本源代码及文档均为"任明星Ming"原创,欢迎喜欢界面编程及WTL的朋友一起讨论。
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接口来完成的,如果你系统里没有安装,那么将不能运行该程序。
用C++创建一个LabVIEW DLL并读取Windows进程和PID
很多时候使用C++编写的DLL能很方便的为LabVIEW提供额外的功能支援,该例子展示了如何使用C++创建并制定一个"LabVIEW类型"的DLL,然后读取Windows的进程。
资源中包含了C++代码和工程文件,及一个LabVIEW2009的演示程序, 安装了比LabVIEW2009低版本的朋友可以根据示例图片创建一个自己的演示程序。
MFC工具栏编辑器--让你省去手画工具栏的烦恼
很多时候,我很怕写工具栏,因为visual studio只提供了16色的编辑器,如果你想添加点颜色丰富的图片,那只能是噩梦缠身。
现在一个国外大牛写的MFC工具栏编辑器,让你省去编辑MFC工具栏的烦恼。