我做一个程序,动态创建 Panel 上面有 一个ListBox和一个Label当我要动态创建20个Panel,并要给其中的第5个Panel的 ListBox和Label赋值,应该怎么做??另外:如何响应第X个ListBox的Click事件?我希望的结果是,点第X个ListBox,相应的,第X个Label的值等于 该ListBox的选项。谢谢各位大虾了!小弟分数不多,只能给我那么多了....
解决方案 »
- 截取字符问题
- 文件加密解密问题,急用在线等待。
- checklistbox中的数据行如何上下移动,拖拽?
- DELPHI中的Table组件的CreateTable生成的是哪类DBF
- 怎么让自己的控件以panel或form为parent,在其上面生成个按纽?
- TQuery的错误
- 如何用DELPH来控制EPSON打印机的ESC命令。
- DBGrid控件如何屏蔽下箭头?
- delphi有没有函数处理成方啊???比如2的5次方是多少
- Install Shield 6.2 汉化包?
- 如何实现IMAGE控件的半透明效果,想用此做界面特效([阿胡]工作室)
- SOS 请问:在delphi中如何显示cad文件,用什么控件?请知道的给出具体的代码或提示。谢谢
if MyControl.tag=20 then
begin
if MyControl is TListBox then
MyControl.OnClick:=TForm1.Form1Click;//指定响应句柄
end;
type
TForm1 = class(TForm)
//...
private
procedure ListBoxClick(Sender: TObject);
end;//...procedure TForm1.FormCreate(Sender: TObject);
var
vPanel: TPanel;
vLabel: TLabel;
vListBox: TListBox;
I: Integer;
begin
for I := 0 to 20 - 1 do
begin
vPanel := TPanel.Create(Self);
vPanel.Parent := Self;
vPanel.Width := 40;
vPanel.Height := 150;
vPanel.Left := I * vPanel.Width; vLabel := TLabel.Create(Self);
vLabel.Parent := vPanel;
vLabel.Align := alTop;
vLabel.Caption := '1'; vListBox := TListBox.Create(Self);
vListBox.Parent := vPanel;
vListBox.Align := alClient;
vListBox.OnClick := ListBoxClick;
vListBox.Tag := Integer(vLabel); vListBox.Items.Text := '1'#13#10'2'#13#10'3'#13#10'4'#13#10'5';
vListBox.ItemIndex := 0;
end;
end;procedure TForm1.ListBoxClick(Sender: TObject);
begin
TLabel(TListBox(Sender).Tag).Caption :=
TListBox(Sender).Items[TListBox(Sender).ItemIndex];
end;