TControl als beliebige geometrische Figur ?

Rund um die LCL und andere Komponenten
Antworten
br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

TControl als beliebige geometrische Figur ?

Beitrag von br_klaus »

Hallo,

Wie läßt sich die (normale) Rechteckform einer TControl umwandeln in
a) Form mit abgerundeten Ecken
b) Ellipse
c) beliebiges Polygon (array of TPoint)
d) Begrenzungen dargestellt durch Funktionen (x,y) (zB Polynome) oder auch in Kreiskoordinaten
e) Vereinigung verschiedener geometrischer Figuren (zB 3 Ellipsen)
f) Schnittmenge verschiedener geometrischer Figuren ?

Herzlichen Dank

P. Nikolaus

Benutzeravatar
theo
Beiträge: 10904
Registriert: Mo 11. Sep 2006, 19:01

Re: TControl als beliebige geometrische Figur ?

Beitrag von theo »

Ich glaube nicht, dass das geht.
Was willst du denn machen?

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: TControl als beliebige geometrische Figur ?

Beitrag von Scotty »

Unter Windows geht das wohl, Stichwort SetWindowRgn wenn ich mich recht erinnere. Ansonsten Google "non-rectangular form delphi".
Es gibt IMHO nur sehr wenig Anwendungen, bei denen die vom Standard abweichende Darstellung sinnvoll ist.
PS: Jetzt sehe ich gerade, dass es ein TControl sein soll...

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: TControl als beliebige geometrische Figur ?

Beitrag von u-boot »

Evtl solltest dir mal examples/shapedcontrol ansehn. Das im Beispiel gezeigte Vorgehen funktioniert aber mit version 0.9.28 gtk2 nicht für alle WinControls richtig; in der svn-version wurde der Fehler behoben. Ich glaub nicht, dass es so auch für andere TControls funktionieren kann.

(... :evil: :twisted: soweit aber dann ein neues wincontrol als parent dienen kann müsste das zumindest gehn :twisted: :evil: ...)
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: TControl als beliebige geometrische Figur ?

Beitrag von pluto »

Es würde schon eine Lösung geben, auch für alle Plattformen, aber das ware ist sie wohl nicht:
Da die Controls in der Regel keinen Rand Zeichnen, könntest du hier die Zeichnung vom Rand selbst in die Hand nehmen.

Wenn es um eine eigene Komponente geht. Was glaube ich nicht der Fall ist. Sonst hättest du TCustomControl genommen *G*....
MFG
Michael Springwald

Antworten