Seite 1 von 1

Kontrolle bei mehreren Fenstern - Tutorial

Verfasst: 19.02.2013 20:53
von JKG
Hallo und guten Abend an alle !

Ich habe eine Verwaltungssoftware geschrieben, die verschiedene Datensätze einer Datenbank in einem ListIconGadget anzeigt/verwaltet.

Jetzt wird es notwendig, zu den Datensätzen eine zusätzliche Information einzugeben. Dazu soll ein zweites Fenster eingeblendet werden, das zwei Werte abfragen soll.

Wie kann man bewerkstelligen, dass das Main-Window (also das Fenster eins) nicht mehr bedient werden kann (klicks werden ignoriert) und das neu geöffnete Fenster soll/muss so lange aktiv sein, bis die entsprechenden Werte eingegeben sind.

Kennt jemand dazu ein Tutorial?

Danke für eure Hilfe und noch einen schönen Abend !

:D JKG

Re: Kontrolle bei mehreren Fenstern - Tutorial

Verfasst: 19.02.2013 21:01
von Kiffi

Code: Alles auswählen

DisableWindow(DeinHauptFenster, #True)

OpenWindow(DeinZweitesFenster, ...
Als letzten Parameter im obigen OpenWindow (ParentID) kannst Du die ID Deines Hauptfensters angeben. Das verhindert, dass beide Fenster in der Taskleiste angezeigt werden.

Nachdem dann Dein zweites Fenster geschlossen wurde:

Code: Alles auswählen

DisableWindow(DeinHauptFenster, #False)
Grüße ... Kiffi

Re: Kontrolle bei mehreren Fenstern - Tutorial

Verfasst: 19.02.2013 21:08
von ts-soft
Ergänzend:
DisableWindow erst, nachdem das andere Fenster erstellt wurde, ansonsten verliert Deine Anwendung den Fokus.
Vor dem Schliessen des neuen Fensters, das alte wieder aktivieren.

Gruß
Thomas

Re: Kontrolle bei mehreren Fenstern - Tutorial

Verfasst: 19.02.2013 21:14
von JKG
:D

Wooow - super Jungs ! Vielen, vielen Dank!


Gruß JKG :allright:

Re: Kontrolle bei mehreren Fenstern - Tutorial

Verfasst: 19.02.2013 21:19
von ts-soft
Hab Dir auf die schnelle noch ein Beispiel gemacht, somit sollte dann wirklich alles klar sein :wink:

Code: Alles auswählen

OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "Hauptfenster")
ButtonGadget(0, 10, 10, 100, 20, "Dialog")

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case 0
          Break
        Default
          DisableWindow(0, #False)
          CloseWindow(EventWindow())
      EndSelect
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 0
          OpenWindow(#PB_Any, #PB_Ignore, #PB_Ignore, 400, 200, "Dialog", #PB_Window_SystemMenu | #PB_Window_WindowCentered, WindowID(0))
          DisableWindow(0, #True)
      EndSelect
  EndSelect
ForEver
Wenn der Dialog öfters benötigt wird, ist es besser diesen gleich am Anfang mit zu erstellen und nur noch mit
HideWindow an oder auszuschalten, wobei das händling für DisableWindow aber eingehalten werden sollte.

Re: Kontrolle bei mehreren Fenstern - Tutorial

Verfasst: 19.02.2013 23:13
von JKG
Hallo ts-soft,

Ich dank dir herzlich - wirklich sehr nett.

Gruß JKG
:D