Gibt es eine Möglichkeit, meine unter Clipper funktionierende F1-Taste mit dem Wert 28 auch unter Xbase++ zum Antworten zu bringen?
Die Tasten F2 bis F9 arbeiten wie gewohnt, nur die F1 ist wirkungslos.
Funktionstaste F1
Moderator: Moderatoren
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2827
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: Funktionstaste F1
Hallo, bendixen -
ich kann Dein Problem nicht nachvollziehen:
Wenn ich F1 drücke, wird 28 angezeigt.
Wenn Du ein wenig mehr über das Umfeld (wahrscheinlich XbpCRT()?) schreiben würdest, wäre Hilfestellung leichter zu geben.
ich kann Dein Problem nicht nachvollziehen:
Code: Alles auswählen
FUNCTION Main()
Local nKey
nKey := InKey(0)
? nKey
PAUSE
RETURN (.T.)
Wenn Du ein wenig mehr über das Umfeld (wahrscheinlich XbpCRT()?) schreiben würdest, wäre Hilfestellung leichter zu geben.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- Jan
- Marvin
- Beiträge: 14658
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Funktionstaste F1
Da F1 ja üblicherweise eine Hilfe aufruft (zumindest unter Windows): Unter Xbase++ gibt es die Funktion XbpHelp(), mit der man ein Windows-konformes Hilfesystem umsetzen kann.
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.
- 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: Funktionstaste F1
Der Unterschied liegt sicher im LINK MODUS !
GUI=YES verwendet die AppEvent.CH und dort wird windowskonform ! ein F1 Druck zu einem Hilfe-Event verarbeitet.
Selbst wenn man den Keyboard-Link abfängt, ist es nicht 28 sondern #define xbeK_F1 65648
Solange man die inkey.ch verwendet (GUI=NO bzw. ohne PM Schalter) erhält man Clipper-Verhalten:
#define K_F1 28
Aber selbst unter DOS Clipper gilt schon seit Jahrzehnten F1 = HILFE
In der Eventloop habe ich meine Hilfe für das ganze Programm hinterlegt, man könnte dort aber auch was anderes schalten ...
PS: ShowNoHelp() ist bei mir eine Standardfunktion, die aufgerufen wird, wenn noch keine Hilfe hinterlegt ist.
GUI=YES verwendet die AppEvent.CH und dort wird windowskonform ! ein F1 Druck zu einem Hilfe-Event verarbeitet.
Selbst wenn man den Keyboard-Link abfängt, ist es nicht 28 sondern #define xbeK_F1 65648
Solange man die inkey.ch verwendet (GUI=NO bzw. ohne PM Schalter) erhält man Clipper-Verhalten:
#define K_F1 28
Aber selbst unter DOS Clipper gilt schon seit Jahrzehnten F1 = HILFE
In der Eventloop habe ich meine Hilfe für das ganze Programm hinterlegt, man könnte dort aber auch was anderes schalten ...
Code: Alles auswählen
DO WHILE .T.
nEvent := AppEvent( @mp1, @mp2, @oXbp, nSeconds)
do case
case nEvent = xbe_None
* nichts tun ist hier Standard
case nEvent = xbeP_Keyboard .and. mp1 == xbeK_F1
* xbeP_HelpRequest erscheinen für jede Xbp Instanz, also zu oft !
ShowNoHelp() // in ANW_MENU.PRG
otherwise
oXbp:handleEvent( nEvent, mp1, mp2 )
endcase
if nSeconds > 0
if date() = dBis .and. nBisSeconds < seconds()
exit
endif
endif
ENDDO
Gruß
Hubert
Hubert
Re: Funktionstaste F1
Danke für das Echo auf meine Frage.
Inzwischen habe ich die Ursache meines Problems gefunden:
SetAppWindow(): Use ShortCuts := .T.
Nach Ausblenden dieser Zeile funktioniert F1 wieder wie bei meiner Clipper-Version.
Inzwischen habe ich die Ursache meines Problems gefunden:
SetAppWindow(): Use ShortCuts := .T.
Nach Ausblenden dieser Zeile funktioniert F1 wieder wie bei meiner Clipper-Version.