Fenster optimal öffnen egal, wo die Taskleiste ist .

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Beitrag von Eckhard.S »

Danke, ich hatte es fälschlicherweise mit HideWinow probiert.

Das FreeGadget(#edit3) entfernt leider das Fenster völlig und man kann es nicht wieder zurückrufen. Gibt es eine Möglichkeitet, dass es "abtaucht" z.B. mit #PB_Window_Invisible und dann zurückgerufen wird? Das folgende geht nämlich leider nicht, weil das Fenster #edit3 aufgelöst wurde.

Code: Alles auswählen

SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit2)  
FreeGadget(#edit3)
SetGadgetState(#Splitter, GadgetHeight(#Splitter)/2) 
         
MessageRequester("Anhalten", "", #PB_MessageRequester_Ok)
         
SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit3) 
FreeGadget(#edit2)
SetGadgetState(#Splitter, GadgetHeight(#Splitter)/2) 
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
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 »

>> Danke, ich hatte es fälschlicherweise mit HideWinow probiert.
HideGadget wäre sinnvoller :wink:

Code: Alles auswählen

Enumeration
  #window
  #Menu
  #tile
  #Splitter
  #edit1
  #edit2 
  #edit3
  #Frame
  #Button1
  #Button2
  #ButtonBoth
           #TestButton
EndEnumeration

framebreite = 150

hwnd = OpenWindow(#window,0,0,800,600,"",#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)

CreateGadgetList(hwnd)

Frame3DGadget(#Frame,5,0,framebreite -10,595-MenuHeight(),"")
ButtonGadget(#Button1   ,WindowWidth(#Window)-90,2,25,18,"1")
ButtonGadget(#Button2   ,WindowWidth(#Window)-60,2,25,18,"2")
ButtonGadget(#ButtonBoth,WindowWidth(#Window)-30,2,25,18,"1/2")
  ;      ButtonGadget(#TestButton,20,2,25,18,"1/2")
EditorGadget(#edit1,0,0,0,0)
EditorGadget(#edit2,0,0,0,0, #PB_Window_Invisible )                          ; NEU !!!!
EditorGadget(#edit3,0,0,0,0, #PB_Editor_ReadOnly)

SplitterGadget(#Splitter, framebreite, 22, WindowWidth(#Window)- framebreite - 5, WindowHeight(#Window)-27,#edit1, #edit3)
AddGadgetItem(#edit1,0,"Esperanto-Textfield (1)")
AddGadgetItem(#edit2,0,"Esperanto-Ersatztext (2)")                                    ; NEU !!!!
AddGadgetItem(#edit3,0,"German-Textfield (3)")


Repeat
  event = WaitWindowEvent()
 
  Select event
    Case #PB_Event_SizeWindow
       ResizeGadget(#Frame      , #PB_Ignore, #PB_Ignore, #PB_Ignore, WindowHeight(#Window)-5)
       ResizeGadget(#Splitter   , #PB_Ignore, #PB_Ignore, WindowWidth(#Window)- framebreite - 5, WindowHeight(#Window)-27)
       ResizeGadget(#Button1    , WindowWidth(#Window)-90, #PB_Ignore, #PB_Ignore, #PB_Ignore)
       ResizeGadget(#Button2    , WindowWidth(#Window)-30, #PB_Ignore, #PB_Ignore, #PB_Ignore)
       ResizeGadget(#ButtonBoth , WindowWidth(#Window)-60, #PB_Ignore, #PB_Ignore, #PB_Ignore)
    Case #PB_Event_Gadget
       Select EventGadget()
          Case #Button1
             SetGadgetState(#Splitter, GadgetHeight(#Splitter))
          Case #Button2
             SetGadgetState(#Splitter, 0)
          Case #ButtonBoth
            SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit2) 
            HideGadget(#edit3, #True)
            HideGadget(#edit2, #False)
            SetGadgetState(#Splitter, GadgetHeight(#Splitter)/2)
                     
            MessageRequester("Anhalten", "", #PB_MessageRequester_Ok)
                     
            SetGadgetAttribute(#Splitter, #PB_Splitter_SecondGadget, #edit3)
            HideGadget(#edit2, #True)
            HideGadget(#edit3, #False)
            SetGadgetState(#Splitter, GadgetHeight(#Splitter)/2)
       EndSelect
  EndSelect
 
Until event = #WM_CLOSE
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
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Beitrag von Eckhard.S »

Ach wie gut, dass es Freunde gibt :D

Multan dankon, mia amiko! (Esperanto)
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Antworten