wieso geht ESC dort hin ... [erledigt]
Verfasst: Fr, 07. Dez 2018 6:51
moin,
in einer CLASS SysForm FROM XbpDialog hab ich einen weiteren XbpDialog als MDI-Clientauf dem sind nun viele Buttons.
der Button ruft im Codeblock die Procedure ShowBig() auf und zeigt ein neues "freies" Fenster an.
die Eventschleife ist praktisch gleich (Main, MDI-Client, "freie" Fenster)
mit ESC verlässt er die Schleife.
nun clicke ich in das MDI-Client Fenster mit den Buttons während noch "freie" Fenster geöffnet sind.
statt das der MDI-Client Dialog schliesst tun es die "freien" Fenster bei ESC ... hm ... wieso
wenn ich die "freien" Fenster als Thread starte funktioniert ESC immer in "dem" Fenster.
p.s. real Keyboard
in einer CLASS SysForm FROM XbpDialog hab ich einen weiteren XbpDialog als MDI-Client
Code: Alles auswählen
METHOD SysDlg:Action(cDLL,cVER)
oDlg := XbpDialog():New(::drawingArea,,{0,0}, aSize,,.F.)
oDlg:close := { || lExit := .T. }
Code: Alles auswählen
bBlock := ::MakeBlock("ShowBig",nIcon,oIcon,cDLL)
oPB:activate := &(bBlock)
Code: Alles auswählen
oDlg := XbpDialog():new( AppDesktop(),,,,, .F.)
Code: Alles auswählen
DO WHILE !lExit = .T.
nEvent := AppEvent ( @mp1, @mp2, @oXbp )
DO CASE
CASE nEvent == xbeP_Keyboard .AND. mp1 == xbeK_ESC
EXIT
OTHERWISE
oXbp:HandleEvent ( nEvent, mp1, mp2 )
ENDCASE
ENDDO
nun clicke ich in das MDI-Client Fenster mit den Buttons während noch "freie" Fenster geöffnet sind.
statt das der MDI-Client Dialog schliesst tun es die "freien" Fenster bei ESC ... hm ... wieso
wenn ich die "freien" Fenster als Thread starte funktioniert ESC immer in "dem" Fenster.
p.s. real Keyboard