Blogs

Windows窗口样式的秘密

  1. CS_SAVEBITS这是一个比较有趣的窗口样式,按照MSDN的说法就是拥有这样的样式的窗口,windows会在显示窗口前保存窗口区域的位图,当窗口恢复显示时将保存的区域恢复,特别是这种恢复不会引起重绘,也就是说不会给被覆盖的窗口发WM_PAINT Message。这种窗口样式主要被用在弹出式窗口中,消除闪烁。

第一次写Bootrom

这次发布的Bootrom要追加起動自动更新下来的应用程序的功能,拿到了原来bootrom的源代码,追加了几个Dip Switch的开关处理,然后编译成Bootrom.hex,就拿过去烧。 烧Bootrom的机器是一台93年的破机器,屏幕特别花,操作的时候看得我眼睛直疼,搞了半天,老写失败,问了一下做硬件的才知道,操作时选的rom类型选错了。烧好后,拿去起動了一下,又测试了各种功能的组合,居然没出一个错,一把就通过了。真是没有想到»

用TPanningWindow为网格控件添加鼠标平移功能

前两天在写一个新的ColumnGrid的时候无意中发现了TPanningWindow这个有趣的类,这个类好像是从Delphi2006开始添加的,可以给TStringGrid添加用鼠标平移的功能,使用非常简单,在项目中Uses IMouse这个单元。然后运行使用了TStringGrid的程序,在StringGrid中点击鼠标中间的按钮,就会出现一个平移的光标,如下图示意。效果还不错吧:)

[img_assist|nid=166|title=TPanningWindow|desc=|link=node|align=left|width=100|height=58]

发布Sqlite Developer 2.27

这一版本增加了对Virtual Table的支持,同时表编辑界面中增加了同该表相关的索引编辑功能
下载地址
http://www.sharpplus.com/downloads/SqliteDev227.zip

CTags

CTags可以用来建立代码文件的快速索引

运行时切换窗体样式

1.这两天写的一个程序中一个窗体在某些时刻需要是一个MDI的子窗体,某些时刻又要是一个模态窗体,但是在运行时刻将

FormStyle从fsMdiChild改成fsNormal会导致窗体显示时不自然的闪烁一下,后来发现将窗体的默认属性设置为fsNormal,

同时Visible设定为False,在作为MDI窗体显示时,设置FormStyle为fsMdiChild就不会闪烁了。

2.如果要修改MDI的窗体显示大小和位置,一定要在OnShow事件中修改,否则会有闪烁。

发布Sqlite Developer 2.24

这一版本增加了对Sqlite3.3.8的可加载扩展和虚拟表的支持

下载地址

http://www.sharpplus.com/downloads/SqliteDev224.zip

Antlr的错误恢复机制

Antlr的错误恢复机制很重要,有利于写出很健壮的Parser,比如一般的单行注释需要有回车符号,但是有时用户在程序的最后会输入没有回车符号的单行注释,我们的Parser也要考虑这种情况

可以使用状态维护方式来处理这类不完整的Token,在Lexer中添加下列方法。

int state;

int getState() {
return state;
}

void resetState() {
state = 0;
}

 

将单行注释的语法由原来的

发布Sqlite Developer 2.21

修改了一些Bug,增加了查看主键索引,支持编辑命名的约束条件

下载地址 http://www.sharpplus.com/downloads/SqliteDev221.zip

同步内容