截止2004年12月16日 |
本站源码总量RAR压缩为 4,206,733 KB。其中免费源码为 1,124,495 KB,商业源码为 3,082,238 KB!
C/C++ |
129,555 KB |
Delphi |
1,258,381 KB |
Java |
120,937 KB |
.Net |
36,886 KB |
PowerBuilder |
954,525 KB |
Visual Basic |
923,454 KB |
ASP |
259,795 KB |
JSP |
4,987 KB |
其他 |
94,723 KB |
|
|
搜索最佳匹配的“智能复选框” |
|
// 定义变量
LastKeyPressed: Word;
procedure TForm1.ComboBox1KeyDown Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
LastKeyPressed := Key; // 保存上一个你按的键
end;
procedure TForm1.ComboBox1Change Sender: TObject);
Var
ComboText : String;
NewComboText : String;
matchindex : integer;
begin
ComboText := ComboBox1.Text;
// 使用户能删除文本;
if LastKeyPressed = VK_DELETE) OR LastKeyPressed = 8 ) then begin
LastKeyPressed := 0;
end
else begin
if ComboBox1.SelStart <> length ComboText) then // 确定用户此时刚开始打字
// 不做任何事,因为这可以让用户在文本中间任意打字
else begin
// 寻找匹配
matchindex := sendmessage ComboBox1.Handle, CB_FINDSTRING , -1,
LPARAM ComboText) )
if matchindex >= 0 then begin
ComboBox1.ItemIndex := matchindex
NewComboText := ComboBox1.Text;
// 选择文本的其余部分:
sendmessage ComboBox1.Handle, CB_SETEDITSEL , 0,
MAKELPARAM length ComboText) , word -1) ));
end;
end;
end;
|
|
文章出处: |
|
发表时间:2004-12-23 16:59:36 |
共1条数据记录,分1页显示 上一页 < [1] > 下一页 |
|