积累日常生活的点滴,开发过程的心得。

Icon Editor

Sqlite Developer 2.50

这一版本主要增加了自动SQL语法错误检查。
下载地址
http://www.sharpplus.com/downloads/SqliteDev250.zip

Sqlite Developer 2.45

修正了无法解析自带的Sample数据库的表和触发器的错误
同时这一版本支持多语言界面切换的的功能,首先支持了中文。

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

Sqlite Developer 2.42

更新了Sqlite到3.3.12
同时重写了Parser和Lexer,支持了对外键关联语法的支持。
修正了对Unicode的Sql Script的支持。可以正确解析中文注释和中文字段。
下载地址:
http://www.sharpplus.com/downloads/SqliteDev242.zip

How to Hook WM_SETFOCUS Message

We should use WH_CALLWNDPROC type hook  , not WH_GETMESSAGE type hook

SQlite Developer 2.36

这两个月一直忙的项目终于要上线运行了.

上周我也总算有空把SQliteDeveloper的Schema Editor用的Grid重写了一遍,修改了很多焦点和闪烁的问题.

同时更新SQlite DLL到3.3.10

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

ControlStyle

控件的ControlStyle集合属性中可以设置为包含
csSetCaption
这个样式的意思是,但用户改变了控件的名字的时候,会自动的修改相应的控件的Caption属性为新的名字

Hook WM_SETFOCUS消息

注意,要想Hook焦点的消息的话,需要使用WH_CALLWNDPROC类型的钩子,而不是WH_GETMESSAGE类型的钩子

为任意控件添加阴影的效果

在Delphi的ShadowWnd单元中定义了一个TShadowWindow的类,这个类可以用来给人任意的可视化控件添加阴影效果,示意代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShadowWnd;

type
TForm1 = class(TForm)
lbl1: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure lbl1Click(Sender: TObject);
private
{ Private declarations }
FShadow:TShadowWindow;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
FShadow := TShadowWindow.CreateShadow(lbl1, csRight);
FShadow.Control:=lbl1;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
FShadow.Free;
end;

procedure TForm1.lbl1Click(Sender: TObject);
begin
if FShadow.Visible then
FShadow.Hide
else
FShadow.Show;
end;

end.

Windows窗口样式的秘密

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

Syndicate content