Archiv verlassen und diese Seite im Standarddesign anzeigen : Eigene Fensterform
[::sqrt::]
19.09.2002, 21:46
Wie kann man einem Fenster unter der Win-Api eine eigene Form (z.B. ein Dreieck) geben?
in welcher sprache? hab ein bsp für delphi ... kann ich dir schicken, wenn du willst. sonst musst du das ding interpretieren und in deine sprache umschreiben ;) also wie gesagt, wenn du's willst, geb ich dir das teil ...
fände ich auch interessant, kannste das hier mal posten d3dsh33p ?
Hier ist es ausführlich mit win32 api in c++ erklährt, sollte so aber kein problem sein es auch woanders anzuwenden:
http://www.flipcode.com/articles/article_win32skins.shtml
Felix Kaiser
20.09.2002, 13:58
Sollte über WM_PAINT des Fensters gehen, das Fenster darf keinen von Windows gezeichneten Rahmen haben, es darf nur einen reinen Clientbereich haben. Im C++ Builder bzw. auch bei Delphi kannste das Fenster dann über OnPaint zeichnen, hab z.B. abgerundete Fenster und so kram gebastelt.
Aber Vorsicht! Auf einigen Systemen entstehen wenn diese Fenster überlappt werden Zeichenfehler! Wenn ich auf meinem Laptop (Win2000) dann mit einem Fremdfenster über meine abgerundeten Fenster herumschieben tu, gibts lustige Fehlzeichnungen in diesen.
ich glaube man braucht es nicht so kompliziert zu machen und ueber WM_PAINT zu gehen
Zapata's link sollte den weg erklaeren
noch folgendes:
Wenn ich auf meinem Laptop (Win2000) dann mit einem Fremdfenster über meine abgerundeten Fenster herumschieben tu, gibts lustige Fehlzeichnungen in diesen.
das verschieben musst du dir aber selbst bauen, weil des keinen fensterrahmen mehr haben kann (oder zumindest keinen der normal aussieht :D)
wenn wer ein verschiebensample braucht : ganz laut danach schreien
Felix Kaiser
20.09.2002, 14:47
Nein, verstehst nich. Darum gehts nich (auch wenn ich daran schon gedacht hatte :p ). Es geht darum, wenn ein anderes Fenster über meinem eigenstgemalten verschoben wird, dass das schlimme Zeichenfehler provoziert oder provozieren kann.
if (nur bei fenstern mit komischen formen)
scheiss windows ich weiss zwar dass er sich gerne beim repainten der teile zeit laesst aber das ist mir neu
else
gfx treiber ?
Felix Kaiser
20.09.2002, 14:56
Ich tippe auch eher auf den Grafiktreiber, ist nur nen billiger Trident Chipsatz in meinem Laptop. Der Bug tritt auf anderen Win2k Systemen nicht auf.
manche progs machen probs beim verschieben weil die bei jeder pixelaenderung die ganze form neuzeichenen und das bei aufwaendigen forms stockt :)
bei mir laesst sich nichtmal winamp3 schnell verschieben ohne nen schweif zu hinterlassen
[::sqrt::]
20.09.2002, 16:14
Thanks,
Zapata's Link war genau das was ich gesucht hab.:cool:
Felix Kaiser
20.09.2002, 20:48
xOOn: Nee, so nicht. Es reicht wenn ich ne normale MessageBox von Windows über meine abgerundeten Forms schiebe. Die CPU Auslastung kommt nicht sonderlich hoch, es stockt auch nix. Schaut einfach nur lustig aus. Vielleicht bekomm ich da irgendwie mit bissl Verkrampfen nen Screenshoot hin oder so :)
und hier nochmal das teil für delphi ...
Felix Kaiser
21.09.2002, 10:22
So siehts normal aus:
http://www.darkenemy.com/link/Normal.png
So wenn eine MessageBox das Ding überlappt:
http://www.darkenemy.com/link/Defekt.png
Scheint aber vorzugsweise bei MessageBoxes zu passieren :confused:
sieht doch geil aus der effekt :p :p
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.