![]() |
Panel Dynamisch erzeugen und in Panel anzeigen
Hallo
Ich möchte beim Klick auf einen Button ein Panel innerhalb eines Bestehenden Panels erzeugen und anzeigen lassen. Bei einem Weiteren Klick soll ein weiteres Panel dazu kommen usw... Zudem müsste ich einen Code in die Ereignisse der einzelnen Panels schreiben können. Hat jemand eine idee wie dies zu realisieren ist? |
Re: Panel Dynamisch erzeugen und in Panel anzeigen
Moin Claudio,
da stellt sich mir die Frage, an welcher Stelle es hakt? :gruebel: Mit TPanel.Create(nil oder Owner) kannst Du ein Panel erzeugen, und durch die Angabe des Parents stellst Du ein, wo das Panel angezeigt werden soll. Die Ereignisroutinen müssen schon im Programm vorliegen, und nur noch zugewiesen werden. |
Re: Panel Dynamisch erzeugen und in Panel anzeigen
Zitat:
Wozu willst du mehrere Panels erzeugen, die dann auf einem anderen Panel liegen? gibt es da keine bessere Möglichkeit? |
Re: Panel Dynamisch erzeugen und in Panel anzeigen
Vielen Dank...
Diese Zeile hab ich nicht geschrieben...
Delphi-Quellcode:
Aber da drängt sich nun bei mir eine Frage auf.
dynButton.ParentWindow := Panel3.Handle;
Ich muss folgende Codes bei den Ereignissen aufrufen: OnMouseDown
Delphi-Quellcode:
OnMouseMove
// Mausereignisse abfangen
ReleaseCapture; // mit TWinCotrol verschieben, $F012 verschiebt den Button TWinControl(Sender).Perform(WM_SYSCOMMAND, $F012, 0);
Delphi-Quellcode:
Ich denke mal, das wenn ich da diesen Code Jedesmal in das On.... Ereigniss der Panels schreibe
var
cursorpos:TPoint; begin GetCursorPos(cursorpos); panel5.Caption := ( inttostr((cursorpos.y-Form1.Top-(GroupBox1.Top+Panel3.Top+Panel5.Top+28+Panel5.Height)))); if (cursorpos.y-Form1.Top-(GroupBox1.Top+Panel3.Top+Panel5.Top+27+Panel5.Height)) = 1 then Panel5.Cursor:=crSizeNS; if (cursorpos.y-Form1.Top-(GroupBox1.Top+Panel3.Top+Panel5.Top+27+Panel5.Height)) <> 1 then Panel5.Cursor:=crDefault wird das doch etwas Lastig und ich müsste ja auch z.B. bei OnMouseMove das Panel5.Height ind PanelXY.Height umändern und wie ich dies Dynamisch machen soll weis ich nicht. Hast du eine idee wie ich dies Eleganter lösen könnte? @Fussbal-Robby Ziel ist es ein Virtuelles Display zu schafen auf welchem man Buttons, Labels usw. Wie in Delphi Verschieben erzeugen, resizen und definieren kann. Dazu fällt mir leider keine bessere Lösung ein.. Dir etwa? :D |
Re: Panel Dynamisch erzeugen und in Panel anzeigen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab das mal für Dich ausgecodet.
Das Beispiel erstellt zufällig ein Panel auf einem ParentPanel. Das Panel bekommt eine zufällige Größe, eine zufällige Farbe und eine zufällige Position. Ausserdem wird jedes Panel mit einem OnClick Event Handler versehen, der bei jedem Klick die Farbe des angeklickten Panels ändert. Denke mal, daran solltest Du sehen wie man sowas realisieren kann :). PS: Wem mein Coding Stil nicht gefällt, der hat selbst schuld :P. |
Re: Panel Dynamisch erzeugen und in Panel anzeigen
Vielen Vielen Dank
Das war genau das was ich gesucht habe :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz