Seite 1 von 1

Mauszeiger am Rand eines eigenen Fensters

Verfasst: 13.06.2013 12:46
von Bisonte
Hallo ...

In meinem Beispiel wird der Mauszeiger zu "Richtungspfeilen", was ich gerne unterbinden möchte.

Wie mache ich das am besten ?

Code: Alles auswählen

OpenWindow(0, 300, 300, 300, 300, "", #PB_Window_BorderLess|#WS_SIZEBOX)
WindowBounds(0, 300, 300, 300, 300)
Repeat
  Event = WaitWindowEvent()
  If Event = #PB_Event_CloseWindow
    Quit = 1
  EndIf
  If Event = #WM_LBUTTONDOWN
    SendMessage_(WindowID(0),#WM_NCLBUTTONDOWN, #HTCAPTION,0)
  EndIf
Until Quit > 0

Re: Mauszeiger am Rand eines eigenen Fensters

Verfasst: 13.06.2013 13:02
von Kiffi
Du könntest #WS_SIZEBOX durch #WS_BORDER ersetzen (wenn das optisch für Dich passt).

Grüße ... Kiffi

Re: Mauszeiger am Rand eines eigenen Fensters

Verfasst: 13.06.2013 13:24
von Bisonte
Danke.

Allerdings ist dann der schicke Aero Rahmen weg, um den es mir ja ging.
Dann könnt ich gleich den Rahmen selbermalen.

Also ist das "Problem" noch existent ;)

Re: Mauszeiger am Rand eines eigenen Fensters

Verfasst: 13.06.2013 22:04
von RSBasic

Code: Alles auswählen

EnableExplicit

Define EventID
Global WNDPROC

Procedure WNDPROC(hWnd, uMsg, wParam, lParam)
  Protected CWPResult = CallWindowProc_(WNDPROC, hWnd, uMsg, wParam, lParam)
  
  Select uMsg
    Case #WM_NCHITTEST
      Select CWPResult
        Case #HTLEFT To #HTBOTTOMRIGHT
          ProcedureReturn 0
      EndSelect
  EndSelect

  ProcedureReturn CWPResult
EndProcedure


If OpenWindow(0, 0, 0, 500, 400, "", #PB_Window_BorderLess | #WS_SIZEBOX | #PB_Window_ScreenCentered)
  WNDPROC = SetWindowLongPtr_(WindowID(0),#GWL_WNDPROC,@WNDPROC())
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #WM_LBUTTONDOWN
      SendMessage_(WindowID(0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
    EndIf
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf

Re: Mauszeiger am Rand eines eigenen Fensters

Verfasst: 13.06.2013 22:24
von Bisonte
Klappt wunderbar, danke.

War das etwa in deiner API Library versteckt ?

Re: Mauszeiger am Rand eines eigenen Fensters

Verfasst: 13.06.2013 22:26
von RSBasic
Nein, aber wird demnächst hinzugefügt.

Re: Mauszeiger am Rand eines eigenen Fensters

Verfasst: 13.06.2013 22:28
von Bisonte
und ich hab schon wieder an meinen Äuglein gezweifelt ;)