Hallo Forum,
ich programmiere an Tools aus dem Ingenieurbereich und da müssen manchmal viele Parameter eingegeben/spezifiziert werden u.a. geometrische. Um diese eindeutig zuzuordnen, sind Skizzen und Zeichnungen wichtig - die bislang immer in einem Hilfe-Fenster auftauchen.
Mir schwebt nun vor, dass man die Skizze quasi unter die Eingabe-Maske der Parameter legt und die Eingabe (TLabel + TEdit) quasi an der richtigen Stelle platziert - idealerweise würde noch der entsprechende Parameter (z.B. "Radius 1", "Material Innenring") ge-highlight-et - aber das ist für später.
Ich würden nun gerne Ein TPanel nehmen, die Skizze (als JPG, PNG o.ä.) Hintergrund wählen und dann darauf die TLabel und TEdit an den entsprechenden Stellen verteilen. Geht das?
Ich habe bei TPanel selbst direkt nichts gefunden - im Object Inspector sehe ich keine Option dafür. TPanel ist aber abgeleitet von TCustomPanel und das wieder von TCustomControl, welches einen Canvas besitzt. Heißt das, dass ich ein Hintergrundbild laden kann?
Nebenbedingung für das Ganze ist noch: entwickeln tue ich das in Lazarus (v 2.2.6 unter Linux); laufen soll es dann aber in der Firma auf Delphi (Seattle). Das für den Fall, dass es nicht mit den 0815-Komponenten geht, sonder etwas nach-installiert werden müsste; sollte auch unter Delphi mit vertretbarem Aufwand machbar sein.
Ciao,
Photor
TPanel mit Hintergrundbild möglich?
Re: TPanel mit Hintergrundbild möglich?
Naja, Hintergrundbild...
Male es halt einfach drauf OnPaint.
Und Maske abnehmen!
Male es halt einfach drauf OnPaint.
Und Maske abnehmen!

- Dateianhänge
-
- hintbildlaz.png (275.31 KiB) 318 mal betrachtet
- kralle
- Lazarusforum e. V.
- Beiträge: 936
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: TPanel mit Hintergrundbild möglich?
Moin,
Zur Lösung des eigentlichen Problems kann ich nichts besteuern, aber wenn es um den Ingenieurbereich geht, dann würde ich auch über DXF/DWG als Hintergrund nachdenken.
Gruß Heiko
Zur Lösung des eigentlichen Problems kann ich nichts besteuern, aber wenn es um den Ingenieurbereich geht, dann würde ich auch über DXF/DWG als Hintergrund nachdenken.
Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
-
- Beiträge: 606
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: TPanel mit Hintergrundbild möglich?
Ich würde Theos Vorschlag nehmen, aber wenn du es die noch leichter machen möchtest, dann kannst du TImage nehmen und TPanel legen.
Re: TPanel mit Hintergrundbild möglich?
Obwohl ich eigentlich eher wie schon vorgeschlagen einfach das Bild auf dem Panel zeichnen würde, hat ein TImage den Vorteil, dass man die Controls ohne viel zu überlegen genau positionieren kann.
Im Anhang einer kleiner Rechner für die Berechnung der Kapazität eines Plattenkondensators.
Im Anhang einer kleiner Rechner für die Berechnung der Kapazität eines Plattenkondensators.
- Dateianhänge
-
capacalc.zip
- (12.64 KiB) 18-mal heruntergeladen
- photor
- Beiträge: 408
- Registriert: Mo 24. Jan 2011, 21:38
- OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
- CPU-Target: 64Bit
Re: TPanel mit Hintergrundbild möglich?
Moin,
Die Klassenfunktion TForm1.Panel1Paint() wird einfach mit den OnPaint-Event des Panels verknüpft? Klingt nach der einfachsten Idee. Und nach dem ersten Versuch.
An TForm1.FormDestroy hätte ich jetzt nicht sofort gedacht. Aber richtig, das sollte man nicht vergessen.
- Danke.
Ciao und Dank für die prompten Antworten,
Photor
PS: Nö
Danke für den Tipp. Das sieht ungefähr so aus, wie ich mir das gedacht habe (Bild wird mehr eine Schwarz-weiß-Skizze sein).
Die Klassenfunktion TForm1.Panel1Paint() wird einfach mit den OnPaint-Event des Panels verknüpft? Klingt nach der einfachsten Idee. Und nach dem ersten Versuch.
An TForm1.FormDestroy hätte ich jetzt nicht sofort gedacht. Aber richtig, das sollte man nicht vergessen.
Daran hatte ich zwischenzeitig auch schon gedacht, war aber nicht sicher, ob man dann auf das TImage nochmal TEdit/TLabel legen kann.
Hm. Damit würden natürlich die "Skizzen" durch "richtiges CAD" ersetzt. Momentan skizziere ich mit Inkscape (um die Bilder eventuell frei skalieren zu können) - was geht.
Ich schaue mir das natürlich an!wp_xyz hat geschrieben: ↑Sa 26. Aug 2023, 19:00Obwohl ich eigentlich eher wie schon vorgeschlagen einfach das Bild auf dem Panel zeichnen würde, hat ein TImage den Vorteil, dass man die Controls ohne viel zu überlegen genau positionieren kann.
Im Anhang einer kleiner Rechner für die Berechnung der Kapazität eines Plattenkondensators.

Ciao und Dank für die prompten Antworten,
Photor
PS: Nö
