Seite 1 von 2

Fenster NUR bestehend aus Titlebar und Buttons?

Verfasst: 19.01.2006 11:06
von Dr.Pixel
Hallo.
Wie erstelle ich ein Fenster, das nur aus der Titlebar und einigen hinzugefügten Buttons besteht?

mfg
Dr. Pixel

Verfasst: 19.01.2006 11:14
von ts-soft


If OpenWindow (0, #CW_USEDEFAULT , #CW_USEDEFAULT , 100, 100, #PB_Window_TitleBar , "Titelebar" )
   If CreateGadgetList ( WindowID (0))
     ButtonGadget (0, 10, 10, 50, 25, "Button1" )
   EndIf
   Repeat
   Until WaitWindowEvent () = #PB_Event_CloseWindow
EndIf

Verfasst: 19.01.2006 11:46
von Dr.Pixel
Hallo ts.

Danke für den Code aber leider erzeugt Dein Code dies:

Bild



Ich möchte aber gerne das es so ausschaut:

Bild


mfg
Dr. Pixel

Verfasst: 19.01.2006 12:39
von ts-soft
Dann hab ich es mißverstanden, solch merkwürdige Wünsche solltest Du vielleicht etwas genauer beschreiben.

Verfasst: 19.01.2006 13:09
von Dr.Pixel
Ich habe gerade nochmal meine Fragestellung durchgelesen. :oops:
OK, volle Zustimmung! Das hätte ich nun wirklich genauer beschreiben können!
Bin hier auf der Arbeit und werde andauernd gestört :evil:
Ich muss mir dann doch mehr Zeit nehmen für meine Fragen!

Trotzdem sollte es doch gehen, oder?
Ich kann doch auch mit der PBOSL einen Helpbutton in die Titlebar einfügen!
Warum nicht auch andere Buttons?


mfg
Dr. Pixel

Verfasst: 19.01.2006 14:24
von edel
Der Helpbutton gehoert zu genauso zu Windows wie die anderen 3.
PBOSL hat damit wenig zu tun ausser das es einem einfacher gemacht wird.

Verfasst: 19.01.2006 16:00
von Dr.Pixel
Wenn dies so schwierig ist hilft wohl nur ein Trick.
Fenster erstellen ohne Titlebar und Sizegadget.
Fensterhöhe = Titlebar.
Nur weiss ich noch nicht wie ich das Fenster mit der Maus ohne Titlebar
bewegen soll?

Jemand eine Idee?


mfg
Dr. Pixel

Verfasst: 19.01.2006 16:04
von Macros
Was passiert, wenn man dem Button negative y Werte gibt?
vieleicht gehts ja so?

Verfasst: 19.01.2006 16:08
von ts-soft
Dr.Pixel hat geschrieben: Nur weiss ich noch nicht wie ich das Fenster mit der Maus ohne Titlebar
bewegen soll?

Jemand eine Idee?


mfg
Dr. Pixel

Code: Alles auswählen

Procedure MyWindowCallback(WindowID, Message, wParam, lParam) 
  Result.l = #PB_ProcessPureBasicEvents 
  If Message = #WM_LBUTTONDOWN
    ReleaseCapture_()
    SendMessage_(WindowID(#frmHaupt), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)       
  EndIf  
  ProcedureReturn Result.l 
EndProcedure 

Verfasst: 19.01.2006 16:08
von Dr.Pixel
@ Macros: Nein, die Idee hatte ich auch schon.
Der Button wird einfach UNTER die Titlebar geschoben :cry:


@ts-soft: Irgendwie funzt es noch nicht so ganz.
Hier mein Code:

Code: Alles auswählen

Enumeration
  #Window_1
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Text_0
  #Button_1
EndEnumeration

Procedure MyWindowCallback(WindowID, Message, wParam, lParam)
  Result.l = #PB_ProcessPureBasicEvents
  If Message = #WM_LBUTTONDOWN
    ReleaseCapture_()
    SendMessage_(WindowID(#Window_1), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)       
  EndIf 
  ProcedureReturn Result.l
EndProcedure


Procedure Open_Window_1()
  If OpenWindow(#Window_1, 310, 257, 558, 18,  #PB_Window_BorderLess , "New window ( 1 )")
    If CreateGadgetList(WindowID())
      TextGadget(#Text_0, 5, 0, 110, 15, "Test v1.16")
      ButtonGadget(#Button_1, 115, 0, 90, 20, "1-5")
      
    EndIf
  EndIf
EndProcedure

If Open_Window_1()
  MessageRequester("Fehler konnte kein Fenster oeffnen","Fehler",0)
EndIf

Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
mfg
Dr. Pixel