AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Form nicht rechteckig
Thema durchsuchen
Ansicht
Themen-Optionen

Form nicht rechteckig

Ein Thema von KahPee · begonnen am 11. Jun 2009 · letzter Beitrag vom 15. Jun 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#1

Form nicht rechteckig

  Alt 11. Jun 2009, 18:08
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
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Form nicht rechteckig

  Alt 11. Jun 2009, 18:10
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
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#3

Re: Form nicht rechteckig

  Alt 11. Jun 2009, 18:34
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] Code bei den Schweizern [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#4

Re: Form nicht rechteckig

  Alt 11. Jun 2009, 18:39
kein ding, ganz einfach:

hier mal ein Bsp:

Delphi-Quellcode:
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;
Du kannst beliebig viele Punkte ins Array packen... je nach dem was du als Form haben willst!


LG Marco
  Mit Zitat antworten Zitat
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Form nicht rechteckig

  Alt 12. Jun 2009, 07:23
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ß?
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Form nicht rechteckig

  Alt 12. Jun 2009, 07:38
Hi, lies mal diesen Thread, da ist ein Beispiel dabei, wie du deine Form auf Grundlage eines eigenne Bildes anpassen kannst.

transprent Form

Grundlage ist aber wie bereits erwähnt Regions.

Gruß oki
42
  Mit Zitat antworten Zitat
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Form nicht rechteckig

  Alt 15. Jun 2009, 13:45
Hallo, danke für den Hinweis zu transparenten Formen an dieser Stelle, bei weiterem Suchen ahbe ich dies hier gefunden
Delphi Tutorial - Shaping a Form around a Bitmap (Englisch)

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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#8

Re: Form nicht rechteckig

  Alt 15. Jun 2009, 13:48
Woran hakt es denn? Evtl. könntest Du auch über die Verwendung von Turbo Delphi Explorer nachdenken, das ist kostenlos und moderner.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#9

Re: Form nicht rechteckig

  Alt 15. Jun 2009, 13:49
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!
  Mit Zitat antworten Zitat
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Form nicht rechteckig

  Alt 15. Jun 2009, 13:56
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz