SetAppFocus() und ShowModal() [Erledigt]
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
SetAppFocus() und ShowModal() [Erledigt]
Ich benutze eigentlich nie :showmodal(). Jetzt muß ich das aber doch, und habe prompt ein Problem: Ich habe in der Zeile vor dem :showModal() den SetAppFocus() stehen. Der will aber bei der Anzeige des modalen Dialoges den Fokus nicht auf das angegebene SLE setzen. Erst wenn ich TAB drücke, dann steht der korrekt da drin.
Ist das Absicht bei modalen Dialogen, oder habe ich da einen Denkfehler?
Jan
Ist das Absicht bei modalen Dialogen, oder habe ich da einen Denkfehler?
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal()
Hallo Jan,
ich vermute, Du möchtest den Focus auf einem bestimmten Xbp des modalen Fensters haben, wenn dieses angezeigt wird.
Setz am Besten den Focus das gewünschte Xbp in der Show()-Methode.
Uli
ich vermute, Du möchtest den Focus auf einem bestimmten Xbp des modalen Fensters haben, wenn dieses angezeigt wird.
Setz am Besten den Focus das gewünschte Xbp in der Show()-Methode.
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal()
Hallo Uli,
ach neee. Das klappt in der Tat einwandfrei. Steht nur leider nicht in der Onlinehilfe drin, da wird kein Parameter für :showModal() aufgeführt.
Aber naja, jetzt gehts ja. Vielen Dank für den Hinweis.
Jan
ach neee. Das klappt in der Tat einwandfrei. Steht nur leider nicht in der Onlinehilfe drin, da wird kein Parameter für :showModal() aufgeführt.
Aber naja, jetzt gehts ja. Vielen Dank für den Hinweis.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: SetAppFocus() und ShowModal() [Erledigt]
Hm
und wie sieht das dann codemäßig aus?
und wie sieht das dann codemäßig aus?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Hallo Manfred,
jetzt rede ich garantiert wieder an Dir vorbei. Aber so:
Jan
jetzt rede ich garantiert wieder an Dir vorbei. Aber so:
Code: Alles auswählen
oDlg:showModal(oXbp)
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: SetAppFocus() und ShowModal() [Erledigt]
Nönö,
genau das war die Frage. Interessant.
genau das war die Frage. Interessant.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Uffa! Noch mal Glück gehabt.
Im Ernst. Ich finde das auch interessant. Erst funktioniert ein normales :SetAppFocus() nicht, alternativ klappt das aber mit einem undokumentierten Parameter. Schon merkwürdig. Da würde mich mal der Hintergrund zu interessieren.
Jan
Im Ernst. Ich finde das auch interessant. Erst funktioniert ein normales :SetAppFocus() nicht, alternativ klappt das aber mit einem undokumentierten Parameter. Schon merkwürdig. Da würde mich mal der Hintergrund zu interessieren.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
das ist wirklich interessant, ich nutze bei normalen Fenstern sowas in CREATE()
aber ::showmodal() bleibt ja gerade stehen und geht nicht weiter.
Code: Alles auswählen
* Formular anzeigen
::show()
SetAppFocus(oWin)
SetAppFocus(::sleTest_1)
RETURN self
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Deshalb muss man es auch in der Show()-Methode implementieren! Die wird ja garantiert (auch von ShowModal()!) aufgerufen!brandelh hat geschrieben:... ::showmodal() bleibt ja gerade stehen und geht nicht weiter.
So hat man eine saubere Lösung.
Uli
P.S.
Und wer keine eigene Klasse hat oder haben möchte, um ::Show() zu modifizieren, der kann auch den Callback :setDisplayFocus() benutzen.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Das ist doch auch SAUBER ... wenn es wie von JAN beschrieben funktioniert
Code: Alles auswählen
oDlg:showModal(oXbp)
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Aber nur, wenn es dokumentiert istbrandelh hat geschrieben:Das ist doch auch SAUBER ... wenn es wie von JAN beschrieben funktioniert
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Dass die Dokumentation nicht sauber ist ist schon länger klar ... ich erinnere nur an:
mir war diese DOKU (diese hier ist aus 1.90.355 ) in der CTP3 aufgefallen und viel aus allen Wolken ... chr(10) und Leerzeile ...
dann prüfte ich das nach und nix da ...
alle diese Zeilen bewirken (bei mir) das Gleiche, nämlich KEINE LEERZEILE zwischen den beiden Zeilen.
Getestet habe ich mit allen Versionen die bei mir noch installiert sind (1.82.x ff.)
ABER die Verwendung der undokumentierten Parameter ist nicht unsauberer als die richtige Verwendung von MSGBOX(),
die Dokumentation ist falsch ... nur von Funktionen die vom NAMEN her intern sind ( _ am Anfang), sollte man die Finger lassen.
Code: Alles auswählen
Syntax
MsgBox( <cMessage>, [<cTitle>] ) --> NIL
Parameter
<cMessage>
<cMessage> ist eine Zeichenkette, die den Text enthält, welcher in der Messagebox angezeigt werden soll.
Als Zeilenumbruchzeichen dient Carriage Return (Chr(13)) oder Line Feed (Chr(10)).
Bei Carriage Return wird der Text in der nächsten Zeile angezeigt und bei Line Feed in der übernächsten Zeile.
Das Umbruchzeichen Chr(10) fügt also erst eine Leerzeile ein.
...
Beispiel
// Meldungen in GUI-Anwendungen anzeigen
// In dem Beispiel wird eine Messagebox mit einem dreizeiligen
// Meldungstext angezeigt. Die zweite Zeile ist eine Leerzeile.
PROCEDURE Main
MsgBox( "Das Programm" + Chr(13) + Chr(10) + "wird jetzt beendet!", "Programmende" )
RETURN
dann prüfte ich das nach und nix da ...
Code: Alles auswählen
#define CRLF Chr(13)+Chr(10)
MsgBox( "Das Programm" + CRLF + "wird jetzt beendet!", "Programmende" ) // so nutze ich das fast immer
MsgBox( "Das Programm" + Chr(13) + Chr(10) + "wird jetzt beendet!", "Programmende" )
MsgBox( "Das Programm" + Chr(13) + "wird jetzt beendet!", "Programmende" )
MsgBox( "Das Programm" + Chr(10) + "wird jetzt beendet!", "Programmende" )
Getestet habe ich mit allen Versionen die bei mir noch installiert sind (1.82.x ff.)
ABER die Verwendung der undokumentierten Parameter ist nicht unsauberer als die richtige Verwendung von MSGBOX(),
die Dokumentation ist falsch ... nur von Funktionen die vom NAMEN her intern sind ( _ am Anfang), sollte man die Finger lassen.
Gruß
Hubert
Hubert
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Das bezieht sich mit Sicherheit auf OS/2 .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: SetAppFocus() und ShowModal() [Erledigt]
Till hat mir gerade beide Punkte bestätigt. Sowohl zu :showModal() als auch zu MsgBox(). in beiden Fällen wird ein PDR (6486 und 6487) angelegt und die Doku überarbeitet.
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.