Deine Aussagen sind nicht präzise! Was denn nun?
Wenn man sich nicht deutlich ausdrückt, kriegt man auch keine eindeutige antwort! (oder gar keine)
1. Soll dein Fenster nun verschiebbar oder nicht verschiebbar sein?
2 .Oder möchtest du ein Fremdes Fenster verschieben?
3. oder möchtest du dein Fenster mit deinem Programmcode verschieben?
1 , 2 , oder 3…. du musst dich entscheiden, 3 Felder sind frei!
Plopp….
[Edit]
Du findes auf www.purearea.net das sehr gute CodeArchiv, da sind ne menge beispiele drin. Zieh dir das rein das Hilft !!
Code geändert: Fenster nich in der Taskbar anzeigen
[/edit]
Code: Alles auswählen
; Fenster nicht verschiebbar
; Pamkkkkk 12.August 2005 PB 3.93
If OpenWindow(0,0,0,230,90,#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible,"Verschieb mich !")
If CreateGadgetList(WindowID())
ButtonGadget (1, 10, 10,200, 20, "Klick mich")
CheckBoxGadget(2, 10, 40,200, 20, "Markiere mich")
EndIf
If CreateMenu(0, WindowID())
MenuTitle("Menu")
MenuItem(1, "Eintrag 1")
MenuItem(2, "Eintrag 2")
MenuItem(3, "Eintrag 3")
EndIf
; es wirkt leider nur: Fenster immer oben (#HWND_TOPMOST)
SetWindowPos_(WindowID(0), #HWND_TOPMOST, 0, 0, 0, 0,#SWP_NOMOVE | #SWP_NOSIZE)
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,#WS_EX_TOOLWINDOW) ; Fenster nich in der Taskbar anzeigen
HideWindow(0, 0) ; Jetzt erst Fenster zeichnen lassen
WinX = WindowX() ; X Position retten
WinY = WindowY() ; y Position retten
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #WM_MOVE ; Wenn Fensterbewegung ....
MoveWindow(WinX,WinY) ; .....Fenster auf alte Position zurück setzen
Case #PB_Event_Gadget
Select EventGadgetID()
Case 1 : Debug "Schalter 1 angeklickt!"
Case 2 : Debug "Schalter 2 angeklickt!"
Case 3 : Debug "Schalter 3 angeklickt!"
EndSelect
Case #PB_Event_Menu
Select EventMenuID()
Case 1 : Debug "Menü-Eintrag 1 angeklickt!"
Case 2 : Debug "Menü-Eintrag 2 angeklickt!"
Case 3 : Debug "Menü-Eintrag 3 angeklickt!"
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
EndIf