Naja, Win7 tauglich ist das nicht

will ich so generell nicht im Raum stehen lassen.ts-soft hat geschrieben:Naja, Win7 tauglich ist das nicht
scheint dann wohl eher eine 64Bit Kiste zu sein.TomS hat geschrieben:@ts-soft: Also Kiffi's Code funzt bei mir gut. Win XP Pro SP3 32bit mit Win7-Aero-Skin
Ähh?Kiffi hat geschrieben:will ich so generell nicht im Raum stehen lassen.ts-soft hat geschrieben:Naja, Win7 tauglich ist das nicht
scheint dann wohl eher eine 64Bit Kiste zu sein.TomS hat geschrieben:@ts-soft: Also Kiffi's Code funzt bei mir gut. Win XP Pro SP3 32bit mit Win7-Aero-Skin
Grüße ... Kiffi
mea culpa!ts-soft hat geschrieben:Ähh?
War mir klarKiffi hat geschrieben:Dass er XP mit Win7-Skin schrieb, habe ich überlesen.
Code: Alles auswählen
EnableExplicit
Define.i NoBorder, Border, WWE
Procedure WindowBorder(Window, Flag)
SetWindowLongPtr_(WindowID(Window), #GWL_STYLE, Flag)
SetWindowPos_(WindowID(Window), 0,0,0,0,0,#SWP_NOSIZE|#SWP_NOMOVE|#SWP_NOZORDER|#SWP_FRAMECHANGED)
EndProcedure
#Window=0
#Button_Border=0
#Button_NoBorder=1
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 220, "", #PB_Window_BorderLess)
NoBorder.i = GetWindowLongPtr_(WindowID(#Window), #GWL_STYLE)
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 220, "")
Border.i = GetWindowLongPtr_(WindowID(#Window), #GWL_STYLE)
ButtonGadget(#Button_Border, 5, 5, 290, 100, "Border")
ButtonGadget(#Button_NoBorder, 5, 110, 290, 100, "No Border")
Repeat
WWE=WaitWindowEvent()
Select WWE
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_Border
WindowBorder(#Window, Border)
Case #Button_NoBorder
WindowBorder(#Window, NoBorder)
EndSelect
EndSelect
Until WWE = #PB_Event_CloseWindow
ah... die drei sind also des Pudels Kern...Kiffi hat geschrieben:Code: Alles auswählen
SetWindowLong_(WindowID(Window), #GWL_STYLE, GetWindowLong_(WindowID(Window), #GWL_STYLE) &~ #WS_DLGFRAME) SetWindowLong_(WindowID(Window), #GWL_STYLE, GetWindowLong_(WindowID(Window), #GWL_STYLE) &~ #WS_OVERLAPPED ) SetWindowLong_(WindowID(Window), #GWL_STYLE, GetWindowLong_(WindowID(Window), #GWL_STYLE) &~ #WS_BORDER)
Code: Alles auswählen
... &~ ( #WS_DLGFRAME | #WS_OVERLAPPED | #WS_BORDER )
tricky tricky tricky!ts-soft hat geschrieben:Code: Alles auswählen
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 220, "", #PB_Window_BorderLess) NoBorder.i = GetWindowLongPtr_(WindowID(#Window), #GWL_STYLE) OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 220, "") Border.i = GetWindowLongPtr_(WindowID(#Window), #GWL_STYLE)
Code: Alles auswählen
checkflag = #WS_DLGFRAME | #WS_OVERLAPPED | #WS_BORDER
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 220, "", #PB_Window_BorderLess)
NoBorder.i = GetWindowLongPtr_(WindowID(#Window), #GWL_STYLE)
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 300, 220, "")
Border.i = GetWindowLongPtr_(WindowID(#Window), #GWL_STYLE)
Debug RSet( Bin( NoBorder , #PB_Long ), 32, "0" ) + " NoBorder"
Debug RSet( Bin( Border & ~ checkflag , #PB_Long ), 32, "0" ) + " Border And Not Flag"
Debug RSet( Bin( Border , #PB_Long ), 32, "0" ) + " Border"
Debug RSet( Bin( NoBorder | checkflag , #PB_Long ), 32, "0" ) + " NoBorder Or Flag"
Code: Alles auswählen
10010100000000000000000000000000 NoBorder
00010100000010000000000000000000 Border And Not Flag
00010100110010000000000000000000 Border
10010100110000000000000000000000 NoBorder Or Flag
Was fragste Dich noch, die Methode kann nicht sicher genug sein, da sie garnicht funktioniert.Kaeru Gaman hat geschrieben: jetzt frage ich mich, ob die Methode mit #WS_DLGFRAME | #WS_OVERLAPPED | #WS_BORDER sicher genug ist,
oder ob ich es vorziehen soll, die StyleFlags vorab zu ermitteln wie von ts demonstriert...
ts-soft hat geschrieben:Was fragste Dich noch, die Methode kann nicht sicher genug sein, da sie garnicht funktioniert.