2016-04-11 21 views
0

TPanel ürününün TPanel üzerindeki tüm nesneleri temizleyebileceğiniz bir yöntemi var mı? Örneğin, bazı etiketler TPanel (Label.Visible = true) üzerine yerleştirildiyse, bu durumda, yöntemi uyguladıktan sonra görünmez oldular (Label.Visible: = false).TPanel temizleme (Lazarus)

cevap

0

ile sağ üst atamak gerekir Sen zamanında kontrollerini oluşturursanız, TPanel üzerindeki tüm nesneleri yok etmek isteyen veya gizlemek yalnızca gerekiyor mu? Yalnızca ihtiyaç panelin tüm bileşenleri gizlerseniz

bu kodlar size yardımcı olabilir:

Example of HideAll components of panel

procedure TForm1.chk_Visible_AllChange(Sender: TObject); 
var 
    n: Integer; 
    cmp : TComponent; 
begin 

    for n:= 0 to ComponentCount-1 do 
    begin 
     cmp := Components[n]; 
     if cmp.GetParentComponent=Panel1 then 
     begin 
      if cmp is TLabel then 
      TLabel(cmp).Visible:= chk_Visible_All.Checked; 
      if cmp is TButton then 
      TButton(cmp).Visible:= chk_Visible_All.Checked; 
      if cmp is TMemo then 
      TMemo(cmp).Visible:= chk_Visible_All.Checked; 
      if cmp is TGroupBox then 
      TGroupBox(cmp).Visible:= chk_Visible_All.Checked; 
     end; 
    end; 
end; 
+0

Teşekkür ederim, bu ne gerekli! – JohnS

0

Tabii Sen görünürlüğünü değiştirecek ebeveyn olarak senin panel vardır

Panel.Visible = false; 

Tüm unsurları kullanabilir.

Onlara

myLabel.Parent = Panel;