Window-Skins
Window-Skins
Hi Leute,
Ich programmiere derzeit eine kleine Applikation für ein Spiel, und nun möchte ich das Design etwas anpassen. Anfangs wollte ich das ganze mit einfachen ImageGadgets erledigen, aber so habe ich folgendes Problem:
Ich möchte einen Button an den unteren Rand des Fensters so platzieren, dass er zur Hälfte darüber hinausragt. Dies ist so aber nicht möglich.
Hat jemand einen Vorschlag was ich machen könnte?
edit:
ups, verklickt, sollte eigentlich in den Anfänger-Bereich^^
Egal, arbeite trotzdem mit PB4.
Ich programmiere derzeit eine kleine Applikation für ein Spiel, und nun möchte ich das Design etwas anpassen. Anfangs wollte ich das ganze mit einfachen ImageGadgets erledigen, aber so habe ich folgendes Problem:
Ich möchte einen Button an den unteren Rand des Fensters so platzieren, dass er zur Hälfte darüber hinausragt. Dies ist so aber nicht möglich.
Hat jemand einen Vorschlag was ich machen könnte?
edit:
ups, verklickt, sollte eigentlich in den Anfänger-Bereich^^
Egal, arbeite trotzdem mit PB4.
Zuletzt geändert von Eclipse am 19.04.2007 18:18, insgesamt 1-mal geändert.
Such mal nach SkinWin.
Hier hats dazu auch ein paar Beispiele:
http://www.purearea.net/pb/CodeArchiv/German.html
Thalius
Hier hats dazu auch ein paar Beispiele:
http://www.purearea.net/pb/CodeArchiv/German.html
Thalius
Jup.. Im prinzip erstellst du ein unsichtbares Fenster. Und plazierst da drauf deine Elemente. Klar können die nicht über das Fenster hinausgehen. Aber schliesslich kannst du ja auch nur gadgets auf Fenstern erstellen oder ? =P
Du passt einfach deinen Hintergrund so an dass du noch genug Raum hast deinen Button da heraus ragen zu lassen ( Transparente fenster kannst du übrigens auf transparenter Fläche auch nicht selektieren ).
ps. das ist die gebräuchliche Methode ( nicht nur in PB ... )
Thalius
Du passt einfach deinen Hintergrund so an dass du noch genug Raum hast deinen Button da heraus ragen zu lassen ( Transparente fenster kannst du übrigens auf transparenter Fläche auch nicht selektieren ).
ps. das ist die gebräuchliche Methode ( nicht nur in PB ... )
Thalius
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
1.) Falsches Forum!
2.) Du brauchst SkinWin nicht. Das lässt sich leicht mit dem Kombinieren Regions bewerkstelligen:
2.) Du brauchst SkinWin nicht. Das lässt sich leicht mit dem Kombinieren Regions bewerkstelligen:
Code: Alles auswählen
#BTNWIDTH = 100 : #BTNHEIGHT = 50
OpenWindow(0,0,0,320,240,"void",#WS_POPUP| #WS_SYSMENU | #WS_BORDER | 1)
CreateGadgetList(WindowID(0))
ButtonGadget(0,0,0,0,0,"Ich wurde halbiert!")
SetWindowColor(0,RGB(120,150,20))
GetWindowRect_(WindowID(0),wrc.RECT)
WW = wrc\right-wrc\Left
WH = wrc\bottom-wrc\top
BX = WW/2 - #BTNWIDTH/2
hRgnResult = CreateRectRgn_(0,0,0,0)
hRgnRect1 = CreateRectRgn_(0,0,WW,WH - #BTNHEIGHT/2)
hRgnRect2 = CreateRectRgn_(BX,WH - #BTNHEIGHT/2,BX + #BTNWIDTH,WH)
CombineRgn_(hRgnResult,hRgnRect1,hRgnRect2,#RGN_OR)
SetWindowRgn_(WindowID(0),hRgnResult,1)
; 2 x minus 1 Pixel wegen #WS_BORDER
ResizeGadget(0,BX-1,(WH-#BTNHEIGHT/2)-1,#BTNWIDTH,#BTNHEIGHT)
While WaitWindowEvent() ! 16 : Wend
Windows 10 Pro, 64-Bit / Outtakes | Derek
Noch eine kleine Frage^^:
Ich hab in meinem Fenster nun mit
alle weißen Stellen transparent gestellt.
Nun möchte ich aber das selbe auch mit einem Gadget (WebGadget) machen.
Wenn ich jetzt aber einfach die IDs austausche klappt das natürlich nicht ...
Ich hab in meinem Fenster nun mit
Code: Alles auswählen
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,GetWindowLong_(WindowID(0),#GWL_EXSTYLE)|524288)
SetLayeredWindowAttributes_(WindowID(0),RGB(255,255,255),0,1)
Nun möchte ich aber das selbe auch mit einem Gadget (WebGadget) machen.
Wenn ich jetzt aber einfach die IDs austausche klappt das natürlich nicht ...