寻找ComboBox类控件 请各位帮帮忙实现功能: 下拉选项由CheckBox组成,可以多选,选择后在Edit框自动添加相应的选择.先谢谢了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) ComboBox1: TComboBox; Edit1: TEdit; CheckBox1: TCheckBox; ScrollBox1: TScrollBox; CheckBox2: TCheckBox; procedure FormCreate(Sender: TObject); procedure ComboBox1Click(Sender: TObject); procedure ScrollBox1Exit(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); private { Private declarations } public { Public declarations } CheckBoxText : Array [0..1] of string; procedure ComboBoxWnd (Var Message : TMessage); end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.ComboBoxWnd(var Message: TMessage);begin Case Message.msg of WM_LBUTTONDOWN: begin // show scroll checkbox if not ScrollBox1.Visible then begin ScrollBox1.Visible := False; ScrollBox1.Color := clWhite; CheckBox1.Left := 2; CheckBox1.Top := 2; Checkbox1.Parent :=ScrollBox1; CheckBox2.Left := 2; CheckBox2.Top := Checkbox1.Height + 3; Checkbox2.Parent :=ScrollBox1; ScrollBox1.Top := Combobox1.Top + Combobox1.Height ; ScrollBox1.Left := Combobox1.Left; ScrollBox1.Width := Combobox1.Width; ScrollBox1.Visible := True; ScrollBox1.SetFocus; end else begin ScrollBox1.Visible := True; end; Message.Result := 1; end; else Combobox1.Dispatch(Message); end;end;procedure TForm1.FormCreate(Sender: TObject);begin ScrollBox1.Visible := False; combobox1.WindowProc := ComboBoxWnd;end;procedure TForm1.ComboBox1Click(Sender: TObject);begin ScrollBox1.Visible := False; ScrollBox1.Color := clWhite; CheckBox1.Left := 0; CheckBox1.Top := 0; Checkbox1.Parent :=ScrollBox1; ScrollBox1.Top := Combobox1.Top + Combobox1.Height ; ScrollBox1.Left := Combobox1.Left; ScrollBox1.Width := Combobox1.Width; ScrollBox1.Visible := True;end;procedure TForm1.ScrollBox1Exit(Sender: TObject);begin ScrollBox1.Visible := False;end;procedure TForm1.CheckBox1Click(Sender: TObject);begin if CheckBox1.Checked then CheckBoxText[0] := CheckBox1.Caption else CheckBoxText[0] := ''; Edit1.Text := CheckBoxText[0] + ';' + CheckBoxText[1];end;procedure TForm1.CheckBox2Click(Sender: TObject);begin if CheckBox2.Checked then CheckBoxText[1] := CheckBox2.Caption else CheckBoxText[1] := ''; Edit1.Text := CheckBoxText[0] + ';' + CheckBoxText[1];end;end. 但我想ComboBox的下拉选项,就是那些CheckBox能按照数据库中的记录动态增加阿 只要CheckBox是动态加进去就行了. 怎样获取内存? dll回调返回值乱码 有没有Delphi教程、VC++教程、汇编教程、 一个关于用mysql存取图片的问题,大家进来讨论一下 谁能告诉我,winamp的插件怎么做??? 关于时间的问题,不知该如何解决? 求自适应表单控件? 用with TQuery.Create(nil) do说TQuery没定义? Win2000下能同时安装D5和D6吗?谁这样安装过? 谁来救救我????回答我的问题好吗?????please!!!!!!!!!! 初学DELPHI的问题,非常急!!!!!!!!!!! 一个电脑装机报价系统,正在测试中
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Edit1: TEdit;
CheckBox1: TCheckBox;
ScrollBox1: TScrollBox;
CheckBox2: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure ScrollBox1Exit(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
CheckBoxText : Array [0..1] of string;
procedure ComboBoxWnd (Var Message : TMessage); end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.ComboBoxWnd(var Message: TMessage);
begin
Case Message.msg of
WM_LBUTTONDOWN:
begin
// show scroll checkbox
if not ScrollBox1.Visible then
begin
ScrollBox1.Visible := False;
ScrollBox1.Color := clWhite;
CheckBox1.Left := 2;
CheckBox1.Top := 2;
Checkbox1.Parent :=ScrollBox1;
CheckBox2.Left := 2;
CheckBox2.Top := Checkbox1.Height + 3;
Checkbox2.Parent :=ScrollBox1; ScrollBox1.Top := Combobox1.Top + Combobox1.Height ;
ScrollBox1.Left := Combobox1.Left;
ScrollBox1.Width := Combobox1.Width;
ScrollBox1.Visible := True;
ScrollBox1.SetFocus;
end else
begin
ScrollBox1.Visible := True;
end;
Message.Result := 1;
end;
else
Combobox1.Dispatch(Message);
end;end;procedure TForm1.FormCreate(Sender: TObject);
begin
ScrollBox1.Visible := False;
combobox1.WindowProc := ComboBoxWnd;
end;procedure TForm1.ComboBox1Click(Sender: TObject);
begin
ScrollBox1.Visible := False;
ScrollBox1.Color := clWhite;
CheckBox1.Left := 0;
CheckBox1.Top := 0;
Checkbox1.Parent :=ScrollBox1;
ScrollBox1.Top := Combobox1.Top + Combobox1.Height ;
ScrollBox1.Left := Combobox1.Left;
ScrollBox1.Width := Combobox1.Width;
ScrollBox1.Visible := True;
end;procedure TForm1.ScrollBox1Exit(Sender: TObject);
begin
ScrollBox1.Visible := False;
end;procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
CheckBoxText[0] := CheckBox1.Caption
else
CheckBoxText[0] := '';
Edit1.Text := CheckBoxText[0] + ';' + CheckBoxText[1];
end;procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked then
CheckBoxText[1] := CheckBox2.Caption
else
CheckBoxText[1] := '';
Edit1.Text := CheckBoxText[0] + ';' + CheckBoxText[1];
end;end.