Fenster NUR bestehend aus Titlebar und Buttons?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Dr.Pixel
Beiträge: 90
Registriert: 12.08.2005 12:38

Fenster NUR bestehend aus Titlebar und Buttons?

Beitrag von Dr.Pixel »

Hallo.
Wie erstelle ich ein Fenster, das nur aus der Titlebar und einigen hinzugefügten Buttons besteht?

mfg
Dr. Pixel
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Dr.Pixel
Beiträge: 90
Registriert: 12.08.2005 12:38

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Dann hab ich es mißverstanden, solch merkwürdige Wünsche solltest Du vielleicht etwas genauer beschreiben.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Dr.Pixel
Beiträge: 90
Registriert: 12.08.2005 12:38

Beitrag 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
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag 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.
Dr.Pixel
Beiträge: 90
Registriert: 12.08.2005 12:38

Beitrag 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
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Was passiert, wenn man dem Button negative y Werte gibt?
vieleicht gehts ja so?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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 
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Dr.Pixel
Beiträge: 90
Registriert: 12.08.2005 12:38

Beitrag 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
Antworten