Rahmenloses fenster mit Tranzparenz

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Rahmenloses fenster mit Tranzparenz

Beitrag von Tsuki-Namida »

Hallo,
ich möchte ein Fenster machen war rund ist. Aber mit einem einfachen rahmenlosen fenster ist es da nicht getahn, da die fenster ja dennoch im Qudrat bzw. Rechteck dargestellt werden. Das ist allerdings nicht mein wunsch...

Kurtz gesagt:
Wie kann ich ein fenster machen das mit einer Farbe die ich als Tranzparent gefiniere nicht zu sehen ist?

[Edit]
UPS sorry könnte ein Mod das Thema bitte verschieben? Ich habe es versehendlich falsch gepostet...
[/Edit]
Bild
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

schau mal im msdn unter "Regions".
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

@Zaphod
ich habe leider nichts gefunden :( oder ich bin zu blööd zum suchen....
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »


PBOSL: SkinWin

Wenn Du ein neues Projekt anfängst, sprich ja auch eigentlich nichts dagegen
PB4 zu verwenden.

Und bitte tu uns einen Gefallen und tausch Deine Sig durch einen einfachen
Text aus.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

WOW, MSDN hat sich ja krass verschlechtert. Warum kommt man da eigentlich nichtmehr an's englische MSDN?

Also die SkinWin library zu benutzen wär der leichteste weg. Wenn du wissen willst, wie das mit den Fensterformen in windows funktionert und wie Skinwin das macht hab ich hier dazu noch was gefunden: http://www.flipcode.com/articles/articl ... kins.shtml

Beispielcode ist in C, besteht aber fast nur aus API Aufrufen und sollte somit eigentlich kein Problem sein.
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Es gibt noch eine Möglichkeit, die allerdings erst ab Win 2000 funktioniert. Mit
SetLayeredWindowAttributes_() kann man alle Teile eines Fensters, die einer
bestimmten Farbe entsprechen, transparent machen. Auf diese Weise kann
man komplexe Formen ohne die Verwendung von Regions mit nur einem
Befehl erzeugen.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Steht in dem verlinkten Tutorial unten in den Kommentaren. Es macht auch sinn, dass so zu machen und auf Kompatibilität mit früheren Windowsversionen zu verzichten, weil diese möglichkeit viel schneller ist. Bei sehr komplexen formen die aus sehr vielen Regions bestehn würde wird so ein fenster sonst zappelig.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

okay ich habe mich für eine möglichkeit entschieden...

Code: Alles auswählen

OpenWindow(1, 12, 20, 134, 124, #PB_Window_BorderLess, "")
SkinWin(WindowID(), LoadImage(0, "G:\test.bmp"), 0, 0)
hier ist das Bild
es hat die Sbmessung von 134 mal 124 Pixeln
Und die tranzparente farbe ist: #F0B0F0

,it dieser Befehlskombination bekomme ich nur ein Fenster (ohne Rahmen) das die Standart (Eingestellt) Farbe von windows hat... also ohne ein bild darauf...
was ist daran falsch?
Bild
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

Okay mit dem inhalt dieser Seite
http://www.flipcode.com/articles/articl ... kins.shtml
kann ich nichts anfangen :(

der grund ist. erstens meine englisch kenntnisse sind nicht besonderst gut :( und zweitens... ist das doch nicht für PureBasic???
Bild
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> was ist daran falsch?

keine Ahnung.

Wenn Du Dir auch noch die PBOSL-Examples herunterlädst, so findest Du im
SkinWin-Ordner einige Tools, mit denen Du aus Bitmaps eine SkinWin-Datei
erzeugen kannst.

Aber die Bitmap, so wie Du sie gepostet hast, lässt sich mit den Tools nicht
laden. Ich musste die BMP mit dem IrfanView öffnen und noch einmal als
Bitmap speichern. Dann ging's.

Gibt's eigentlich einen Grund, warum Du noch immer 3.94 benutzt?

Grüße ... Kiffi
a²+b²=mc²
Gesperrt