文章归档 – 八月, 2013

上帝以为自己是谁-纪念库布里克诞辰80周年(转)

        仅凭西方诞生了库布里克,以及西方文化界对库布里克的推崇这一点,我们就可以断言,那里的文化系统、传统和体统,统统比我们这边高明和先进。差距至少有半个世纪。当然,这种对比唯一的意义仅在于说,目前中国文化的现状… 阅读全文

2条评论 2013-08-30

透明皮肤控件设计系列(八):完结篇

我们的透明皮肤控件设计系列到此告一段落了,想进一步学习的朋友,可以找一些当前流行的DirectUI的资料来看看。 所谓DirectUI,意思是直接画的,例如QQ之类,除了窗口外,全部控件都是画出来的,没有单独的句柄。DirectUI的好处在于没有句柄外,因为全部控件都是画在一张画布上面,所以闪… 阅读全文

16条评论 2013-08-18

透明皮肤控件设计系列(七):界面设计中的一些算法和技巧

除了第二讲里面的平均颜色之外,实际上一个真正成熟的界面涉及的东西还是很多的。 一、九宫格算法 例如按钮,假如说,图片使用拉伸方式的话,按钮变大后会很难看,这种情况下一般使用九宫格算法。 所谓九宫格算法,就是把图片分成1~9个区域,针对不同区域作不同处理: A---------B-------… 阅读全文

2条评论 2013-08-18

卑劣的街头,肮脏的聚会(转)

卑劣的街头,又一部韩国黑社会电影。但我更喜欢它的英文名《A Dirty Carnival》。 从名字就可以看出导演对黑社会的一种态度,但是影片却远没有那么简单。当在夜总会中烂醉如泥的检察官揪着柄斗的耳朵说:“败类、寄生虫”的时候,谁才是真正的败类、寄生虫?也许答案远没有黑社会是败类、检察官是寄生虫… 阅读全文

一条评论 2013-08-14

透明皮肤控件设计系列(六):滚动条处理

滚动条对于界面来说也是非常重要的。修改系统默认滚动条一般有三种方法: 一、覆盖法 覆盖法顾名思义就是创建一个跟滚动条大小一样的控件,覆盖在原来的滚动条上面,当有消息的时候,直接“漏”下去给原来真正的滚动条: 优点:不用自己计算变化范围。 缺点:大小无法改变。例如比系统原来的滚动条小的化,就盖… 阅读全文

9条评论 2013-08-14

TCP程序设计系列(一)

很多Delphi的使用者依赖控件,比如说,Indy系列。也有很多使用Winsock API的,但是或多或少都有着一些小问题,这是因为对Winsock不了解造成的。 笔者几年前曾经设计过一个完整的TCP协议栈,其中协议栈是纯粹用Delphi写的,驱动部分则是用C挂接到网卡驱动前,鉴于最近“Carbe… 阅读全文

13条评论 2013-08-12

透明皮肤控件设计系列(五):透明控件

现在我们有了透明窗口,那么所有控件也应该是透明的。 控件透明,原理其实很简单,就是把父控件的图像复制到自己上面即可。例如,常用的方法是给父控件发送背景重画的消息,同时把自己的DC传递过去: SendMessage(Parent.Handle, WM_ERASEBKGND, DC, 0); TCt… 阅读全文

11条评论 2013-08-11

透明皮肤控件设计系列(四):皮肤窗口完结篇

经过上面的几篇文章的介绍,相信大家已经会自己做一个透明皮肤窗口了,但是要记住,上文因为是基础教程,所以很多细节仍然是需要处理的,例如: 1、为了加快速度,实际上可以先用MakeBmp函数制作好皮肤图片,平均颜色就是取图片右下角的一个点即可。例如QQ的皮肤包就是这么干的。 2、如果实在想运行时计算… 阅读全文

12条评论 2013-08-11

透明皮肤控件设计系列(三):皮肤窗口进阶篇

前文的窗口如果最大化,你会发现它把任务栏也覆盖了,原因是我们窗口的 BorderStyle 设置成了 bsNone,所以要处理一下WM_GETMINMAXINFO消息: procedure TForm1.WMGETMINMAXINFO(var Message: TMessage); var Rec… 阅读全文

12条评论 2013-08-07

透明皮肤控件设计系列(二):皮肤窗口初级篇

Windows将窗口分为客户区和非客户区,例如对于标准的Windows窗口,标题栏和边框都属于非客户区,又称为NC区。对于客户区的绘制,应用程序会收到WM_PAINT消息,而非客户区,对应的消息是WM_NCPAINT。要实现皮肤窗口,需要三个步骤: 第一步:定义非客户区的大小。 要自定义非客户区… 阅读全文

11条评论 2013-08-05

第 1 页,共 2 页12


近期文章

近期评论

文章归档

分类目录