AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Panel Dynamisch erzeugen und in Panel anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Panel Dynamisch erzeugen und in Panel anzeigen

Ein Thema von hedie · begonnen am 12. Apr 2008 · letzter Beitrag vom 12. Apr 2008
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

Panel Dynamisch erzeugen und in Panel anzeigen

  Alt 12. Apr 2008, 18:23
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?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Panel Dynamisch erzeugen und in Panel anzeigen

  Alt 12. Apr 2008, 18:34
Moin Claudio,

da stellt sich mir die Frage, an welcher Stelle es hakt?

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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Panel Dynamisch erzeugen und in Panel anzeigen

  Alt 12. Apr 2008, 18:36
Zitat von Christian Seehase:
da stellt sich mir die Frage, an welcher Stelle es hakt?
mir stellt sich eher die Frage, wozu das gut sein soll
Wozu willst du mehrere Panels erzeugen, die dann auf einem anderen Panel liegen? gibt es da keine bessere Möglichkeit?
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#4

Re: Panel Dynamisch erzeugen und in Panel anzeigen

  Alt 12. Apr 2008, 18:40
Vielen Dank...

Diese Zeile hab ich nicht geschrieben...

dynButton.ParentWindow := Panel3.Handle; Aber da drängt sich nun bei mir eine Frage auf.

Ich muss folgende Codes bei den Ereignissen aufrufen:

OnMouseDown
Delphi-Quellcode:
// Mausereignisse abfangen
  ReleaseCapture;
  // mit TWinCotrol verschieben, $F012 verschiebt den Button
  TWinControl(Sender).Perform(WM_SYSCOMMAND, $F012, 0);
OnMouseMove
Delphi-Quellcode:
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
Ich denke mal, das wenn ich da diesen Code Jedesmal in das On.... Ereigniss der Panels schreibe
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?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
wido

Registriert seit: 2. Jan 2006
122 Beiträge
 
#5

Re: Panel Dynamisch erzeugen und in Panel anzeigen

  Alt 12. Apr 2008, 19:17
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 .
Angehängte Dateien
Dateityp: rar dynamic_panel_146.rar (175,9 KB, 107x aufgerufen)
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#6

Re: Panel Dynamisch erzeugen und in Panel anzeigen

  Alt 12. Apr 2008, 19:27
Vielen Vielen Dank

Das war genau das was ich gesucht habe
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz