![]() |
Form nicht rechteckig
Hallo,
ich möchte bei einem Projekt, an dem ich im Moment arbeite es möglich machen eine Form nicht rechteckig darzustellen. Von den Voreinstellungen her wird eine Form ja immer rechteckig dargestellt. Ich möchte jetzt im Prinzip wieder die Form so gestalten wie bisher, die Hintergrundgrafik (z.B. eine png) soll letztendlich die Umrisse der Form angeben (border=none). Ich hoffe man kann verstehen was ich meine. Auch wenn es nicht über eine PNG umsetzbar wäre ich für Lösungsvorschläge sehr dankbar. mfg KahPee |
Re: Form nicht rechteckig
Hallo,
Also wenn ich die richtig verstanden habe, willst Du z.B. eine Viereckige Form. Wenn es das ist, kannst Du die Größe doch einfach anpassen. Wenn Du was ganz anderes willst, brauchst Du dazu Spin Komponenten oder so. Gruß Jens |
Re: Form nicht rechteckig
Die Form hat doch mit der Größe nichts zu tun. IIRC gab es bei den Schweizern einen Code dazu, ansonsten lies Dich mal in Regions ein (SetWindowRgn und Konsorten).
[edit] ![]() |
Re: Form nicht rechteckig
kein ding, ganz einfach:
hier mal ein Bsp:
Delphi-Quellcode:
Du kannst beliebig viele Punkte ins Array packen... je nach dem was du als Form haben willst!
procedure TfrmMain.FormCreate(Sender: TObject);
var HR1 : Hrgn; P : array [0..3] of TPoint; begin P[0] := Point(0,0); P[1] := Point(0,100); P[2] := Point(100,0); P[3] := Point(0,0); HR1 := createPolygonRgn(P,4,ALternate); SetWindowRgn(Handle,HR1,True); end; LG Marco |
Re: Form nicht rechteckig
wenn man jetzt aber ein unförmiges Hintergrundbild hat, dann wird das sehr aufwendig. Bei mir handelt es sich um eine unregelmäßige ganz leichte Wellenlinie das wäre irre aufwendig da die ganzen Punkte einzugeben. Mal ganz davon abgesehen hätte man das gleiche Problem bei einem Kreis (obwohl dabei hätte man noch den VOrteil, dass man den per procedur erzeugen kann).
Gibt es noch andere Möglichkeitenß? |
Re: Form nicht rechteckig
Hi, lies mal diesen Thread, da ist ein Beispiel dabei, wie du deine Form auf Grundlage eines eigenne Bildes anpassen kannst.
![]() Grundlage ist aber wie bereits erwähnt Regions. Gruß oki |
Re: Form nicht rechteckig
Hallo, danke für den Hinweis zu transparenten Formen an dieser Stelle, bei weiterem Suchen ahbe ich dies hier gefunden
![]() Da ich Anfänger bin habe ich so meine Probleme den Code dort zu verstehen, allerdings wird mit der erwünschte Effekt in dem Projekt erfüllt. Als ich nun den Code testweise übernommen habe gab es allerdings auch nach anpassen von TImage1 (etc.) noch Probleme. Ich habe es also nicht selber umsetzten können. Liegt das evtl daran, dass ich DELPHI 4 benutze? Bzw. kann mir jemand evtl erklären wie das ganze aussehen müsste für Delphi 4. Vielen Dank schon für eure Hilfe mfg KahPee |
Re: Form nicht rechteckig
Woran hakt es denn? Evtl. könntest Du auch über die Verwendung von Turbo Delphi Explorer nachdenken, das ist kostenlos und moderner.
|
Re: Form nicht rechteckig
Dann lass doch deine Eckpunkte der Form mitels einer Funktion oder so berechnen. oder mach dir einmal die Arbeit und ermittle alle Punkte sofern das Bild gleich bleibt!
|
Re: Form nicht rechteckig
Das Problem bei der Sache ist, dass es Wahnsinn wäre die ganzen Punke manuell nachzuprüfen. Die Punkte sind unregelmäßig angeordnet und das sind nen paar hundert wenn nicht sogar ein paar Tausend.
Gibt es für Delphi 4 da keine halbwegs geeignete Variante? mfg Kahpee |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 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-2025 by Thomas Breitkreuz