procedure TStockForm.FormCreate(Sender: TObject);
var i,j:Integer;
str1:string;
begin//**********************设置规格模块************************
str1:='select * from rule order by rnum';
adoquery1.SQL.Clear;
adoquery1.SQL.Add(str1);
adoquery1.Open;
adoquery1.First;
j:=0;
for i:=0 to adoquery1.RecordCount-1 do
begin
RuleCheckbox[i]:=Tcheckbox.Create(Self);
RuleCheckbox[i].Parent:=panel1;
RuleCheckbox[i].Left:=10+j*60;
if ((i+1) mod 3)=0 then
j:=0
else
j:=j+1;
RuleCheckbox[i].Top:=4+(i div 3)*20;
RuleCheckbox[i].Width:=50;
RuleCheckbox[i].caption:=adoquery1.Fields[1].Value;
rulecheckbox[i].OnClick:=rulecheckboxclick(1);
RuleEdit[i]:=Tedit.Create(Self);
RuleEdit[i].Parent:=panel1;
RuleEdit[i].Left:=10+j*70;
if ((i+1) mod 3)=0 then
j:=0
else
j:=j+1;
RuleEdit[i].Top:=4+(i div 3)*20;
RuleEdit[i].Width:=50;
RuleEdit[i].Visible:=false; adoquery1.Next;
end;
end;就是不知道激活checkbox后如何显示后面的edit控件
静态控件时,是直接在checkbox的onclick事件中写这些代码就行:
procedure TStockForm.CheckBox1Click(Sender: TObject);
begin
Edit2.Text:='';
Edit2.Visible:=checkbox1.Checked;
end;但现在是动态调用数据库中的值就不知道在哪写值了
var i,j:Integer;
str1:string;
begin//**********************设置规格模块************************
str1:='select * from rule order by rnum';
adoquery1.SQL.Clear;
adoquery1.SQL.Add(str1);
adoquery1.Open;
adoquery1.First;
j:=0;
for i:=0 to adoquery1.RecordCount-1 do
begin
RuleCheckbox[i]:=Tcheckbox.Create(Self);
RuleCheckbox[i].Parent:=panel1;
RuleCheckbox[i].Left:=10+j*60;
if ((i+1) mod 3)=0 then
j:=0
else
j:=j+1;
RuleCheckbox[i].Top:=4+(i div 3)*20;
RuleCheckbox[i].Width:=50;
RuleCheckbox[i].caption:=adoquery1.Fields[1].Value;
rulecheckbox[i].OnClick:=rulecheckboxclick(1);
RuleEdit[i]:=Tedit.Create(Self);
RuleEdit[i].Parent:=panel1;
RuleEdit[i].Left:=10+j*70;
if ((i+1) mod 3)=0 then
j:=0
else
j:=j+1;
RuleEdit[i].Top:=4+(i div 3)*20;
RuleEdit[i].Width:=50;
RuleEdit[i].Visible:=false; adoquery1.Next;
end;
end;就是不知道激活checkbox后如何显示后面的edit控件
静态控件时,是直接在checkbox的onclick事件中写这些代码就行:
procedure TStockForm.CheckBox1Click(Sender: TObject);
begin
Edit2.Text:='';
Edit2.Visible:=checkbox1.Checked;
end;但现在是动态调用数据库中的值就不知道在哪写值了
解决方案 »
- GetCursorPos(pos)这个可以取到屏幕任一点的坐标吗(程序窗口之处)
- 关于查询问题?哪位高手帮帮忙!谢谢!!!!!!!!!!!急!!!!!!!!!!急!!!!!!!!!
- 在dll中设了断点没起作用?
- 怎样变更一个form的Create
- delphi 如何读取二进制文件到一个TList中去,急,在线等
- 怎么从数据库里面将记录取出来并在LISTVIEW中显示。
- 有没有OpenGL高手?有活儿相求 :)
- 在程序中如何得知SQL SERVER的某张表已经建立了那些索引
- 怎么没人能够解答这个问题,100分挑战高手!谁解答成功,送150分!!(含原贴)如何把UCP数据传送到代理服务器内的某台主机??????
- 如何编程序实现在一个已存在的IE窗口中打开一个url,在另一个窗口打开又该如何写?
- procedure TForm1.Action1Execute(Sender: TObject); 什麽時候觸發?
- 如何用程序实现截取屏幕某个区域????高手请指教!!!!
RuleCheckbox[i].tag:=Integer(RuleEdit[i]);事件处理函数改为
if not (Sender is TCheckBox) then Exit;
if (Sender is TCheckBox).Tag = 0 then Exit;
TEdit((Sender as TCheckBox).Tag).Text:='';
TEdit((Sender as TCheckBox).Tag).Visible:=(Sender as TCheckBox).Checked;