![]() |
CreatePolygonRgn und abgerundete Ecken
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen,
ich bin gerade dabei, eine Komponente zu erstellen (abgeleitet von TPanel) mit der in Anhang 1 dargestellten Form. Das funktioniert über CreatePolygonRgn soweit ganz gut. Schön wäre es, wenn ich das ganze jetzt noch mit abgerundeten Ecken, so wie in Anhang 2 zu sehen, hinbekommen würde. Über CreateRoundRectRgn kann man sich ja recht einfach ein rechteckiges Panel mit abgerundeten Ecken erstellen. Gibt es eine Möglichkeit, auch ein Polygon mit abgerundeten Ecken zu erstellen? Hab bisher nichts gefunden. Vielen Dank schon mal für eure Hinweise und Ideen. |
AW: CreatePolygonRgn und abgerundete Ecken
|
AW: CreatePolygonRgn und abgerundete Ecken
Oder die runde Region erstellen (CreateRoundRectRgn)
und dann noch die Region für den Pfeil addieren. |
AW: CreatePolygonRgn und abgerundete Ecken
Vielen Dank für die Hinweise. Ich habs dann wie von Himitsu vorgeschlagen gemacht.
Delphi-Quellcode:
hieß das Zauberwort, um zwei Regions miteinander zu verbinden. Rgn1 wird dadurch um Rgn2 erweitert und ergibt die gewünschte Form.
CombineRgn
Falls mal jemand das gleiche Problem hat, hier mein Code:
Delphi-Quellcode:
Vielen Dank für die Hilfe.
procedure TTipPanel.RecreateHRGN;
const radius = 20; var Rgn1, Rgn2: hRgn; pList : array of TPoint; begin //zuerst die Grundform mit gerundeten Ecken Rgn1 := CreateRoundRectRgn(0,30,200,100,radius,radius); //danach den Pfeil auf die obere Kante SetLength(pList,3); pList[0] := Point(30,30); pList[1] := Point(30,0); pList[2] := Point(60,30); Rgn2 := CreatePolygonRgn(plist[0],High(pList)+1,Winding); CombineRgn(Rgn1,Rgn1,Rgn2,RGN_OR); SetWindowRgn(Handle, Rgn1, True); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz