伊布SKY

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年3月21日

正文内容加载中...
posted @ 2012-03-21 15:09 伊布 阅读(179) 评论(0) 推荐(0) 编辑

2009年7月6日

摘要: 有时,在有大量图片或者复杂的界面下,会出现界面闪烁。这是由于windows默认在绘制界面前会用背景色清空,然后重绘。 因为默认背景色一般是白色的,当重绘速度慢时,看起来界面就在闪烁了。 那有没有在不提高界面绘制速度的情况下,防止闪烁呢,常用的办法就是启用双缓冲机制。 双缓冲绘制,就是在内存预先绘制好图形,再拷贝到界面上。中途不再清白背景。 delphi的wincontrol组件提供了双缓冲机制,所以从该组件继承的比如窗体,各类windows控件都有双缓冲绘制功能。 但默认情况下双缓冲绘制是关闭的,在手工设置 DoubleBuffered 属性为true后双缓冲绘制机制开启。无需添加其他代码。 阅读全文
posted @ 2009-07-06 22:55 伊布 阅读(882) 评论(0) 推荐(0) 编辑

摘要: 很多朋友在做绘图程序的时候,往往出现屏幕不停刷新产生闪烁的问题,这里就告诉大家一个解决办法,缓冲绘图。如果有人是用取反画图解决这个问题,那么在画直线的时候容易出现斑点,效果不是很好。如果是图片很大,那么缓冲画图是解决的好办法。 在网上搜索一下内存绘图,或者缓冲绘图,会有很多技术文章,不过都是以vc或者java为主,很少有pascal的代码例子。不过原理都是一样的,大家可以参考他们的文章。我会在最后放上转载的vc缓冲画图的文章。:)感谢原作者。 Delphi中函数调用比较方便。 OldBmp, BufBmp是TbitMap //画图方法: procedure TChart.Draw(aCanva 阅读全文
posted @ 2009-07-06 21:14 伊布 阅读(1656) 评论(0) 推荐(0) 编辑

2009年6月1日

摘要: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) CheckBox1: TCheckBox; procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseDown(Sender: TObject; Button: TMou 阅读全文
posted @ 2009-06-01 14:56 伊布 阅读(538) 评论(0) 推荐(0) 编辑

2009年5月27日

摘要: 资源文件一般为扩展名为res的文件.在VC中资源文件用得非常普遍,但Delphi在其联机帮助中对资源文件没作什么介绍,其实利用其自带的资源编译工具BRCC32.EXE(一般位于\Delphi\BIN目录下),我们完全可以做出跟VC一样效果的文件来。资源文件最大的好处是能将一些在必要时才调用的文件跟可执行文件一起编译,生成一个文件.这样做最大的好处就是使外部文件免遭破坏.例如在一条程序中你要临时调用一幅图片,一般作法是把图片放在某一路径下(通常是主程序所在路径),但如果用户路径误删你的图片文件,则可能使程序找不到相应文件而出错崩溃. 另外,如果你想自己的程序界面美观,想用一些自定义光标,也要用到 阅读全文
posted @ 2009-05-27 17:04 伊布 阅读(701) 评论(0) 推荐(0) 编辑

2009年5月11日

摘要: 原文出处:Browser Helper Objects: The Browser the Way You Want It一、简介  有时,你可能需要一个定制版本的浏览器。在这种情况下,你可以自由地把一些新颖但又不标准的特征增加到一个浏览器上。结果,你最终有的只是一个新但不标准的浏览器。Web浏览器控件只是浏览器的分析引擎。这意味着仍然存在若干的与用户接口相关的工作等待你做――增加一个地址栏,工具栏... 阅读全文
posted @ 2009-05-11 21:06 伊布 阅读(582) 评论(1) 推荐(0) 编辑

摘要: 介绍 随着网络免费的大潮的退去,网站变得越来越商业化。浏览一些常去的网站,每看一个页面都会弹出N多的广告窗口,而且都是花花绿绿的Flash和Gif小动画,浪费带宽(我在家还是拨号上网),同时干扰了正常的阅读,非常讨厌。那么如何才能将这些广告屏蔽掉呢?答案就是Browser Helper Object(简称BHO)。 BHO实际上也是一个简单的IE扩展COM组件,它和其它COM组件的区别就在于其它扩... 阅读全文
posted @ 2009-05-11 20:59 伊布 阅读(786) 评论(0) 推荐(0) 编辑

摘要: 在Windows操作系统上,我们最常见的浏览器有两种:文件浏览器(exploer.exe,应用于文件系统)和Internet浏览器(iexplore.exe,应用于互联网资源)。由于这两个浏览器功能强大,而且又与Windows操作系统捆绑销售,最终也就成为了浏览器的标准。但有时候,为了给浏览器加入一些新的特性,我们往往会重新设计一个自己的浏览器。新的浏览器模仿标准浏览器的大部分功能,同时加入新特性... 阅读全文
posted @ 2009-05-11 20:58 伊布 阅读(2162) 评论(2) 推荐(0) 编辑

2009年5月4日

摘要: unit Unit2; {The transparent form effect is done with Regions. First create a region that encompasses the entire form. Then, find the client area of the form (Client vs. non-Client) and combine with the full region with RGN_DIFF to make the borders and title bar visible. Then create a region for ea. 阅读全文
posted @ 2009-05-04 19:32 伊布 阅读(638) 评论(1) 推荐(0) 编辑

摘要: 用API函数在DELPHI中实现“非典型”窗体 现在的一些共享软件特别是一些多媒体播放器软件为了吸引用户,很注重程序界面的设计。实际上,我们使用API函数也可以实现那些好看又另类的效果。 1.异形窗体 窗体只能是方的吗?不是,还可以有其他形状。这要用到两个Win32 API函数。首先用CreateRoundRectRgn()函数在窗体内界定一个椭圆形区域。这里所指的区域(region)是一个特殊的API对象,我们可以在区域内部进行填充和剪裁等操作,从而定义窗体的外部特征。然后调用SetWindowRgn()函数绘制,更进一步还可以再用CombineRgn()函数来合并多个区域,例如在Delph 阅读全文
posted @ 2009-05-04 18:17 伊布 阅读(415) 评论(0) 推荐(0) 编辑