일단 이글을 보시는 분께 말씀을 드립니다.
제가 하고자 하는 작업은 웹에서 검색창에 글을 한자 한자 쓰는 순간마다 이전에 썼던 글들이 자동완성으로(like연산) 드롭다운형식으로 보여주듯이 콤보박스(DB콤보박스)에서 '경'을 치면 자동으로 '경남'에 관련된 우편번호가 나오게 하는것입니다.....
꼭 해야 합니다... 설명이 부족하면 웹상에서 자동완성기능 생각하시면 됨 ^^
고수님 그리고 알고계시는 분은 미천한 저에게 한 수 가르쳐 주시면
유용하게 써겠습니다. 감사합니다......
> 일단 이글을 보시는 분께 말씀을 드립니다.
> 제가 하고자 하는 작업은 웹에서 검색창에 글을 한자 한자 쓰는 순간마다 이전에 썼던 글들이 자동완성으로(like연산) 드롭다운형식으로 보여주듯이 콤보박스(DB콤보박스)에서 '경'을 치면 자동으로 '경남'에 관련된 우편번호가 나오게 하는것입니다.....
>
> 꼭 해야 합니다... 설명이 부족하면 웹상에서 자동완성기능 생각하시면 됨 ^^
>
> 고수님 그리고 알고계시는 분은 미천한 저에게 한 수 가르쳐 주시면
> 유용하게 써겠습니다. 감사합니다......
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
key_ch : Word; // 입력한 키값을 저장
idx_URL : integer;
sv_URL : array [0..9] of string;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
key_ch := key;
if key = VK_RETURN then begin
// 입력URL로 이동하는 부분 구현
// HTML1.RequestDoc(ComboBox1.Text);
ComboBox1.Items.Add(ComboBox1.Text);
if (idx_URL <= 9) then begin
Inc(idx_URL);
// 현재 URL을 저장
sv_URL[idx_URL] := ComboBox1.Text;
end;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
var
index : integer;
pc : PChar;
begin
if ((key_ch <> VK_BACK) and (key_ch <> VK_DELETE)) then begin
pc := PChar(String(ComboBox1.Text));
// ComboBox에게 CB_FINDSTRING 메시지를 전달
// 전달한 lParam값은 검색할 문자열의 주소
index := SendMessage(ComboBox1.Handle, CB_FINDSTRING, -1, Integer(pc));
// 비슷한 문자열을 찾으면 다음을 수행
if index >= 0 then begin
ComboBox1.Text := ComboBox1.Items[index];
ComboBox1.SelStart := StrLen(pc);
ComboBox1.SelLength := StrLen(PChar(ComboBox1.Items[index]));
end;
end;
end;
end.
행복하셔요