OpenWindowedScreen, RightOffset funktioniert nicht

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Der lässt sich nicht so einfach entfernen, wenn überhaupt.
Du kannst aber die Statusbar einfach 20px größer als die Fensterbreite machen.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

Fluid Byte hat geschrieben:Du kannst aber die Statusbar einfach 20px größer als die Fensterbreite machen.
Nö, ich leider nich, dafür brauchts wieder den Api-Guru :lol:
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Warum ein Statusbat nehmen. Geht auch StringGadget mit ReadOnly Attribute.

Code: Alles auswählen

;- Konstanten
Enumeration ; Window ID
  #Window
EndEnumeration

Enumeration ; Menu ID
  #Menu
EndEnumeration

Enumeration ; MenuItem ID
  #Menu_Exit
EndEnumeration

Enumeration ; Statusbar ID
  #Statusbar
EndEnumeration

Enumeration ; Gadget ID
  #MyStatus
EndEnumeration

; ***************************************************************************************

Procedure UpdateWindow()

  Protected x,y,dx,dy
  Protected mn,st,tb
  
  x = 0
  y = 0
  mn = MenuHeight()
  st = StatusBarHeight(#StatusBar)
  ;tb = ToolBarHeight(#ToolBar)
  dx = WindowWidth(#Window)
  dy = 22
  ResizeGadget(#MyStatus, x, y, dx, dy)
  
EndProcedure

;- Globale Variablen
Global exit = 0

;- Fenster
style = #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget
If OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 400, 300, "Fenster", style)
  ; Menu
  If CreateMenu(#Menu, WindowID(#Window))
    MenuTitle("&Datei")
      MenuItem(#Menu_Exit, "Be&enden")
  EndIf
  ; Statusbar
  CreateStatusBar(#Statusbar, WindowID(#Window))
  ; Gadgets
  If CreateGadgetList(WindowID(#Window))
    StringGadget(#MyStatus, 0,0,0,0,"",#PB_String_ReadOnly)
  EndIf
  
  SetGadgetText(#MyStatus, "MyStatus")
  
  ;-- Hauptschleife
  Repeat
    event   = WaitWindowEvent()
    window  = EventWindow()
    Select event
      Case #PB_Event_Menu
        menu    = EventMenu()
        Select menu
          Case #Menu_Exit
            Exit = 1
        EndSelect
        
      Case #PB_Event_Gadget
        gadget  = EventGadget()
        type    = EventType()
        
      Case #PB_Event_CloseWindow
        Exit = 1
      Case #PB_Event_Repaint
      Case #PB_Event_SizeWindow
        UpdateWindow()
        
      Case #PB_Event_MoveWindow
      Case #PB_Event_ActivateWindow
      Case #PB_Event_SysTray
        type    = EventType()
      
    EndSelect
    
  Until Exit
EndIf
FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

mk-soft hat geschrieben:Warum ein Statusbat nehmen.
Wenn jemand wie Kaeru das vorschlägt, möchte ich halt gerne auch eine funktionierende Lösung sehen.
Bisher war das nur ein gutgemeinter Vorschlag, sein "ist zwar ungewöhnlich, aber geht auch." kann ich bisher nicht erkennen.
Und Fluids Lösung ist noch eine Baustelle, die den restlichen Fensteraufbau übern Haufen wirft.

Schade, ich wollte doch wieder was dazulernen :lol:

An KG und FB: Das ist nur die Begründung des "warum", keine Drängelei in Eure Richtung. Ehrlich.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Antworten