TImage.BorderSpacing Farbe ändern
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
TImage.BorderSpacing Farbe ändern
Hallo,
Ich möchte für eine Bildergallerie viele TImage in einem TFlowPanel anzeigen. Damit das ganze schöner aussieht nutze ich TImage.BorderSpacing.Left/Right/Top/Bottom mit ein paar Pixel um einen Abstand zueinander zu bekommen.
Soweit sieht das gut aus.
Nun möchte ich dass das Bild das angewählt ist hervorgehoben wird, dazu wollte ich in dem TImage die Farbe vom BorderSpacing ändern. Leider gibt es keine TImage.BorderSpacing.Color Eigenschaft.
Oder gibt es die doch und muss die wo anders setzen?
Dankeschön für die Hilfe, Grüße Markus.
Ich möchte für eine Bildergallerie viele TImage in einem TFlowPanel anzeigen. Damit das ganze schöner aussieht nutze ich TImage.BorderSpacing.Left/Right/Top/Bottom mit ein paar Pixel um einen Abstand zueinander zu bekommen.
Soweit sieht das gut aus.
Nun möchte ich dass das Bild das angewählt ist hervorgehoben wird, dazu wollte ich in dem TImage die Farbe vom BorderSpacing ändern. Leider gibt es keine TImage.BorderSpacing.Color Eigenschaft.
Oder gibt es die doch und muss die wo anders setzen?
Dankeschön für die Hilfe, Grüße Markus.
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: TImage.BorderSpacing Farbe ändern
Borderspacing.Around ist Platz zwischen dem und anderen Controls. Die Farbe könnte im Parent.Paint geändert werden.
Einfacher: Setz ein rechteckiges TShape genau über das TImage (zuzüglich Borderspacing.Around) und stelle Brush.Style auf bsClear und Pen.Width auf Image.Borderspacing.Around.
Einfacher: Setz ein rechteckiges TShape genau über das TImage (zuzüglich Borderspacing.Around) und stelle Brush.Style auf bsClear und Pen.Width auf Image.Borderspacing.Around.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: TImage.BorderSpacing Farbe ändern
Bist Du sicher, dass das eine gute Idee ist? Als ich Ähnliches letztens mit einem TPaint versucht habe, gab es Probleme mit OnPaint Messages und OnClick Events. Widgets für die das nicht explizit vorgesehen ist (Panel, Container) sollte man nicht übereinanderlegen.Michl hat geschrieben:Setz ein rechteckiges TShape genau über das TImage...
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: TImage.BorderSpacing Farbe ändern
Michl, das geht nicht so einfach.
TImage.Parent := TShape; <<< Fehler TShape ist kein TWinControl
Abgesehen davon gehen alle Klick Ereignisse dann nicht mehr in das TImage.
Anders herum ist eigentlich besser:
TShape.Parent := TImage; <<< Fehler TShape ist kein TWinControl
Wenn ich in:
TImage.Parent := TFlowPanel
TShape.Parent := TFlowPanel
mache, dann sind beide nebeneinander.
Was ginge wäre noch:
TPanel.Parent := TFlowPanel << Anzeige im FlowPanel
TImage.Parent := TPanel << Image im Panel
Dann kann ich TPanel.Color ändern.
Schade, ich dachte das ginge etwas leichter.
TImage.Parent := TShape; <<< Fehler TShape ist kein TWinControl
Abgesehen davon gehen alle Klick Ereignisse dann nicht mehr in das TImage.
Anders herum ist eigentlich besser:
TShape.Parent := TImage; <<< Fehler TShape ist kein TWinControl
Wenn ich in:
TImage.Parent := TFlowPanel
TShape.Parent := TFlowPanel
mache, dann sind beide nebeneinander.
Was ginge wäre noch:
TPanel.Parent := TFlowPanel << Anzeige im FlowPanel
TImage.Parent := TPanel << Image im Panel
Dann kann ich TPanel.Color ändern.
Schade, ich dachte das ginge etwas leichter.
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: TImage.BorderSpacing Farbe ändern
Um warum packst du die Image-Komponenten nicht zuerst auf ein Panel (client-aligned), das du beliebig einfärben kannst, und das dann einen farbigen Rand lässt, wenn BorderSpacing.Around auf ein paar Pixel gesetzt wird? Und ins FlowPanel kommt halt nicht direkt das TImage, sondern das Panel mit dem Image.
Eine Alternative wäre auch theo's Thumbnail-Komponente. Ich weiß gerade den Link nicht, wird aber im Forum hier ein paar mal erwähnt.
Eine Alternative wäre auch theo's Thumbnail-Komponente. Ich weiß gerade den Link nicht, wird aber im Forum hier ein paar mal erwähnt.
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: TImage.BorderSpacing Farbe ändern
Ich hab TPanels erzeugt und auf diese die TImages gesetzt, dann kann man die Farbe der Panels ändern.
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: TImage.BorderSpacing Farbe ändern
mache ich auch gerade...
EleLa - Elektronik Lagerverwaltung - www.elela.de