稍微改造一下,让交互性更好点.增加提示和动态效果. 控件实现内容: 1.加入Hint提示 2.加入了简易动画效果,鼠标进入和离开会有个渐变效果. 实现方案: 1.基类选用 2.Action的关联 3.绘制按钮 4.鼠标响应 5.美化(淡入淡出简易动画) OK-完成 一.基类选择 在基类选择上稍微纠结了下.Delphi大家都知道做一个显示控件一般有2种情况,一种是图形控件(VC里叫静态控件),还种种有焦点可交互的. 如果我想做个Toolbar并不需要焦点,也不需要处理键盘输入,TGraphicCo…
自定义皮肤很方便,基础开发的工作也是很大的.不过还好一般产品真正需要开发的并不是很多.现在比较漂亮的界面产品都会有个大大的工具条. Toolbar工具条实现皮肤的方法还是可以使用Form的处理方案.每当重复写相同东西的时候,有时会感觉无聊.所以想简单实现个轻量级的,依葫芦画瓢进行减肥. 完成后大致的效果 这个简易Toolbar只实现了Button样式,没有分割线没有下拉多选之类的样式. ”这么弱的东西有毛用?“ 其实这个工具条主要目的是用于附着在其他控件上使用,比如某些控件的标题区域位置.当然如…
网上有很好的皮肤控件 SkinEnigne可供使用: 具体步骤: 添加控件SkinEngine. 1.右键“工具箱”.“添加选项卡”,取名“皮肤”. 2.右键“皮肤”,“选择项”弹出对话框. 3.点击“浏览“,找到IrisSkin2.dll,这时你会发现 SkinEngine 的控件已经被打上勾 - 确定. 4.将 SkinEngine 控件添加到窗体上. 5.把皮肤文件(以ssk为后缀名)放在"~\bin\debug"文件夹里. 6.在窗体Load事件或是构造函数中添加代码:this…
分享一个很久之前写的一个Winform换肤组件. 主要利用CBT钩子,NativeWindow来实现.可实现动态换皮肤插件修改窗体显示外观. 我们先定义一个自定义组件 using Skin; using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Reflection; using Syste…
到第四部分Delphi XE3的代码能基本完成窗体界面的绘制.窗口中的其他控件的处理方法也是相同的,截获消息处理消息. 问题这个编译出来的个头可不小.Release版本竟然2.43M,完全是个胖子.系统中应该加入了大量基础代码(如泛型之类),用Delphi7编译出来应该能小一截. 使用默认Release的配置方案,没有第三方控件. 翻译到C++进行实验,发现明显这个个头没法比.Debug版本88.5K...---  这货确实小.可惜再小现公司项目也不会考虑用C++开发,有些悲剧. C版本只实现了…
1 先把IrisSkin2.dll文件添加到当前项目引用(解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin2.dll文件.....之后就不用我说了吧^_^).IrisSkin2.dll文件最好放在当前项目binDebug文件中. 2. 然后把IrisSkin2.dll文件添加到vc2005的工具箱:右键->选择项->浏览找到IrisSkin2.dll文件(文件最好放在当前项目binDebug文件中)按确定,控件就添加到工具箱中了.然后把工…
跟触发器行为有关,什么是触发器什么是行为,百度其他人写的乱七八糟的,我并不能看懂.在此先强行记忆,后知后觉,再回来理解. <i:Interaction.Triggers> <i:EventTrigger EventName="MouseDoubleClick"> <i:InvokeCommandAction Command="{Binding DetailCommand}" CommandParameter="{Binding…
我想做一位狂热的程序猿粪子! 其实一直都很想做点什么,工作原因林林种种导致停止了前进的脚步. 有时会为自己的一个目标狂热,但经常发觉激情过后更多的总是为自己找借口! 最近感觉奔三将近.逐有感而发,不能再这样下去了. 即拿出以前自己为那狂热好一阵的东西继续下去. 一直想为自己开发一套控件库,但感觉精力确实有限,也没那么多时间,逐渐浇灭了这样的织热. 这是套窗体皮肤,断断续续所花费的时间也不少. 下面我介绍下我的这套皮肤,其实也算不上一套,只算是个开始吧. 有人可能会想这不就是边框隐藏再绘制客户区么…
这个是监控窗体缩放的事件 缩放中居中主要在 'beforeshow' 和 'destroy'两个事件里面监控 var EditTempWindow; Ext.EventManager.onWindowResize(function() { if (EditTempWindow) { EditTempWindow.center() } }); Ext.define("Define.Class.EditWindow", { id: 'RoomEditWin', xtype: 'window…
IrisSkin类库提供了可供我们使用的设置窗体皮肤的类,简单地说,就是给我们提供了一个皮肤引擎,通过设置皮肤引擎来达到我们想要的窗体界面. 具体的开发步骤: (1)引入IrisSkin.dll文件 (2)将所有的皮肤文件(.ssk文件)方法Debug目录下 (3)在窗体中通过代码实现 namespace Skin01 { public partial class Form1 : Form { private Sunisoft.IrisSkin.SkinEngine se = null; pub…