随笔分类 -  API

摘要:界面是人机交互的门户,对产品至关重要。在界面开发中只有想不到没有做不到的,有好的想法,当然要尝试着做出来。对滚动条的扩展,现在有很多类是的例子。 VS2015 的代码编辑是非常强大的,其中有一个功能可以把滚动态变成[ MinMap ][scrollbar],可以通过Options Text Edit 阅读全文
posted @ 2016-04-26 09:14 cmacro 阅读(3784) 评论(1) 推荐(3)
摘要:PNG图标是个好东西,现在系统都支持而且工具软件都能很方便生成(包括PS),要比做Icon方便很多。因此理所当然的现在项目图标PNG已经霸占了ICON的霸主地位。 项目功能比较多的时候,就会有无数的图标资源。现做的项目功能图标单16x16规格已经有200个之多~~,一个功能一个PNG图标,散落在目... 阅读全文
posted @ 2014-09-27 00:27 cmacro 阅读(4571) 评论(4) 推荐(0)
摘要:自定义皮肤很方便,基础开发的工作也是很大的。不过还好一般产品真正需要开发的并不是很多。现在比较漂亮的界面产品都会有个大大的工具条。 Toolbar工具条实现皮肤的方法还是可以使用Form的处理方案。每当重复写相同东西的时候,有时会感觉无聊。所以想简单实现个轻量级的,依葫芦画瓢进行减肥。 完成后大致的 阅读全文
posted @ 2014-09-25 11:02 cmacro 阅读(3278) 评论(0) 推荐(0)
摘要:到第四部分Delphi XE3的代码能基本完成窗体界面的绘制。窗口中的其他控件的处理方法也是相同的,截获消息处理消息。 问题这个编译出来的个头可不小。Release版本竟然2.43M,完全是个胖子。系统中应该加入了大量基础代码(如泛型之类),用Delphi7编译出来应该能小一截。 使用默认Relea 阅读全文
posted @ 2014-09-22 22:27 cmacro 阅读(3163) 评论(3) 推荐(3)
摘要:前面做的工作就是想在标题区域增加快速工具条。前续的基础工作完成,想要在标题区域增加特殊区域都非常方便。只要在绘制时控制自定义区域需要占用标题区域多少空间,然后直接在所占位置绘制。做这个事情前,稍微把代码规整了下。所以界面皮肤处理放到一个单元中。 主要处理步骤 1、划出一个新区域(整个工具条作为一个区 阅读全文
posted @ 2014-09-17 22:18 cmacro 阅读(3686) 评论(6) 推荐(2)
摘要:窗体边框基本的绘制和控制完成,在第二篇中主要遗留的问题。 标题区域图标和按钮没绘制 缩放时客户区显示有问题 解决完下面的问题,皮肤处理基本完整。大致的效果GIF GIF中TShape的颜色表现有些问题,实际是正常的。 绘制标题区域内容 标题区域主要考虑窗体是否在最大化状态,最大化后实际的标题绘制区域 阅读全文
posted @ 2014-09-11 23:33 cmacro 阅读(6409) 评论(7) 推荐(4)
摘要:第一个实现了基本处理。窗体边框的宽度有些肥大,需要进行瘦身。 实现: 1、改变外框线宽度 (WM_NCCALCSIZE) 2、改变外框样式 (WM_WINDOWPOSCHANGING) 通过 WM_NCCALCSIZE 消息可以实现目的。 窗体的四个角的表现样式可以看出是XP的界面轮廓。倒角的幅度感 阅读全文
posted @ 2014-09-06 01:38 cmacro 阅读(5812) 评论(0) 推荐(4)
摘要:现在皮肤控件也很多,但每次装一堆控件,使用又繁琐。稍微研究一下内部机制,还是比较简单的。 主要会使用到下面几个消息 第一步直接覆盖WM_NCPAINT 消息进行外边框绘制。 会发现有2个问题: 1、点击右上角的系统按钮区域会出现系统按钮 2、当切换程序的时候窗体会恢复默认样式。 需要处理WM_NCA 阅读全文
posted @ 2014-09-02 17:51 cmacro 阅读(4357) 评论(0) 推荐(2)
摘要:procedure DrawBorder(Handle: THandle; ADC: HDC);var R: TRect; Canvas: TCanvas; P: TPoint;begin Canvas := TCanvas.Create; Canvas.Handle := ADC; P... 阅读全文
posted @ 2014-08-26 16:17 cmacro 阅读(660) 评论(0) 推荐(0)