Einzelnen Beitrag anzeigen

roland9999

Registriert seit: 4. Mär 2012
23 Beiträge
 
Delphi 2009 Professional
 
#1

OnKlick auf dynamisch erzeugte Objekte

  Alt 10. Apr 2012, 22:51
Hallo zusammen,
ich habe viel gelesen aber ich weiß immer noch nicht wie ich mein Problem lösen kann.

Es werden JVCaptionPanels dynamisch erzeugt. Die Anzahl ist von der Anzahl der vorhandenden Datensätze abhängig.

Zur Zeit sind es 4 Panels.

So erzeuge ich diese:

Delphi-Quellcode:

 with f_dm.q_kontakt_select do
  begin
   open;
   while not eof do
    begin
     JVCaptionPanel1:=tJvCaptionPanel.Create(self);
     JVCaptionPanel1.parent:=f_hauptform.ts_karte;
     jvcaptionPanel1.Name := 'nr_'+fieldbyname('kontakt_nr').AsString ;
     jvcaptionPanel1.Cursor := crHandPoint;
    
     jvcaptionPanel1.OnClick := myonklick;
    
     JVCaptionPanel1.Top:=x;
     JVCaptionPanel1.Left:=y;
     JVCaptionPanel1.width:=290;
     JVCaptionPanel1.height:=209;
     JVCaptionPanel1.CaptionPosition := dptop;
     JVCaptionPanel1.Caption:=fieldbyname('name').AsString;

     y := y + JVCaptionPanel1.width;
     w:= z-y;
     if w < JVCaptionPanel1.width then
      begin
       y := 10;
       x := x + 209;
      end;
     next;
    end;
   close;
  end;
Funktioniert auch soweit.

Nun habe ich folgende Procedure zum testen, geschrieben:

Delphi-Quellcode:
procedure tf_hauptform.myonklick(sender: TObject);
begin
  label5.Caption := jvcaptionpanel1.Caption;
end;
Funktioniert.
Da aber wohl der Zeiger auf dem letzten Panel liegt, wird entsprechend Caption aus dem letzten Panel in das Lebel geschrieben.

Wie bekomme ich es hin, dass er aus dem Panel was ich anklicke, den Wert aus Caption in das Label schreibt?

Für Tipps und Hilfe bedanki ich mich.

Gruß
Roland
Roland
  Mit Zitat antworten Zitat