AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Objekte auf einem Panel oder einer anderen Komponente
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte auf einem Panel oder einer anderen Komponente

Ein Thema von kuba · begonnen am 13. Jun 2023 · letzter Beitrag vom 16. Jun 2023
Antwort Antwort
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#1

Objekte auf einem Panel oder einer anderen Komponente

  Alt 13. Jun 2023, 19:43
Hallo,

ich programmiere zur Zeit eine Klassenraum Anwendung für Schulen. Auf einem Panel oder einer anderen Komponente möchte ich Objekte (Computer, Drucker) darstellen. Nach Möglichkeit sollten die Objekte per Drag und Drop frei positionierbar sein. Außerdem wäre es schön wenn die Position der Objekte in der Registry oder einer Ini-Datei abgespeichert werden können (bevorzugt Ini-Datei) damit sie beim nächsten Programmaufruf wieder an Ort und Stelle vorzufinden sind. Zu einem späteren Zeitpunkt plane ich die Objekte als Mini Bildschirm zu konfigurieren, sodass der Lehrer sehen kann was an dem Computer passiert. Zunächst wäre es aber ausreichend wenn ein einfaches Computericon als Symbol für die Objekte angezeigt wird.

Kann mir da jemand ein paar Tipps geben wie sowas zu realisieren ist und ob ich irgendwo Beispiele mit Delphi Quellcode finde ??

Vielen Dank !!
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Objekte auf einem Panel oder einer anderen Komponente

  Alt 14. Jun 2023, 11:31
Würde ein TListview mit ViewStyle vsIcon passen? Das gibt sowas wie den Windows Desktop oder Windows Explorer in der Symbol-Ansicht.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Objekte auf einem Panel oder einer anderen Komponente

  Alt 14. Jun 2023, 17:53
Vielen Dank für den Tipp. Ich habe das gerade ausprobiert, sieht eigentlich schon ganz gut aus. Aber wie kann ich die Elemente per Drag und Drop anders anordnen ?
Miniaturansicht angehängter Grafiken
unbenannt.png  
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Objekte auf einem Panel oder einer anderen Komponente

  Alt 14. Jun 2023, 18:22
Wäre für so etwas mit absolut freier Positionierung nicht besser auf einem Bitmap/PaintBox mit Shapes das geeignete Mittel?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Objekte auf einem Panel oder einer anderen Komponente

  Alt 15. Jun 2023, 11:17
Vielen Dank für den Tipp. Ich habe das gerade ausprobiert, sieht eigentlich schon ganz gut aus. Aber wie kann ich die Elemente per Drag und Drop anders anordnen ?
Sieh Dir das mal an.

Allerdings sollte der Listview schon nativ das Verschieben von Icons per Maus erlauben. Die IconOptions-Eigenschaft bestimmt, wie das Control das verschobene Icon plaziert wenn die Maus "losgelassen" wird.
Peter Below
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
930 Beiträge
 
#6

AW: Objekte auf einem Panel oder einer anderen Komponente

  Alt 16. Jun 2023, 12:11
Also, wenn ich sowas mal gemacht habe, dann habe ich das über eine Paintbox (vielleicht in einer Scrollbox) gelöst. Für die Icons würde ich Objects erzeugen mit x,y- und width/height-Eigenschaft. Beim zeichnen gehe ich dann die Objectlist durch uns zeichne die Icons.

Über das Event OnMouseDown der Paintbox kann man fix über die ObjectList mit einer Funktion z.B. ObjextAsPoint(x.y): TObject das selektierte Icon herausfinden.
Und mit der Funktion OnMouseMove könnte man das Object verschieben und Invalidate die Paintbox neuzeichnen. Auch ein PopupMenu wäre so realisierbar.
(Beim Zeichnen mit BitBlt arbeiten)

So kann man das mit ein paar Methoden schon so machen, als würde man dort mit richtigen Icons arbeiten.
Gibt vielleicht Ärger einfachere Lösungen, aber bei mir hat das gut funktioniert.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  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 12:49 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