amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > GA_TabCycle auch für Buttons ? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

21.12.2004, 12:21 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Hi,

ich habe ein kleines Programm geschrieben, in dem ich mit der TAB Taste in mehrere Stringfelder und auch auf zwei Buttons springen möchte.
Das mit den Stringfeldern klappt soweit ganz gut.
Nur mit den Buttons eben nicht. Ich habe GA_TabCycle,TRUE bei dem Button eingefügt, aber das funktioniert nicht. (gibt aber auch keine Fehlermeldung)

die ganze Zeile sieht so aus:

wingads[BTID_WEITER]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BT ID_WEITER],GA_Disabled,gadgetdata->gd_Disabled_BTWEITER,GT_Underscore, '_',GA_TabCycle,TRUE,TAG_END);

Das Informationen im RKM sind da auch etwas spärlich.

Weiss jemand wie es geht ?

Und noch eine andere Frage.
Gibt es in der AmigaAPI eine Funktion, die mit der Windows "ShellExecute" Funktion vergleichbar ist ?

Hintergrund ist, daß ich eine HTML Datei erzeuge und diese auf Knopfdruck automatisch mit dem auf dem System dafür vorgesehenen Programm drucken und/oder öffnen möchte.

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 13:24 Uhr

melior
Posts: 160
Nutzer
Zitat:
ich habe ein kleines Programm geschrieben, in dem ich mit der TAB Taste in mehrere Stringfelder und auch auf zwei Buttons springen möchte.
Das mit den Stringfeldern klappt soweit ganz gut.
Nur mit den Buttons eben nicht.


Soweit ich mich erinnern kann ist TAB-Cycling nur für String-Gadgets vorgesehen. Das müßte eigentlich im RKM UserStyleGuide beschrieben sein.

Zitat:
Gibt es in der AmigaAPI eine Funktion, die mit der Windows "ShellExecute" Funktion vergleichbar ist ?

Meinst Du damit eine Funktion, die in Abhängigkeit vom Dateityp das passende Programm startet? Gibt es denn überhaupt im OS > 3.1 eine Möglichkeit, Dateitypen und dazu passende Programme zu definieren? Ich kenne das nur von der "idm.library".

Tschüß André

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 13:33 Uhr

Kaesebroetchen
Posts: 643
Nutzer

Zitat:
Soweit ich mich erinnern kann ist TAB-Cycling nur für String-Gadgets vorgesehen. Das müßte eigentlich im RKM UserStyleGuide beschrieben sein.

Steht da aber nicht ausdrücklich drin. Da steht halt nur das es mit Stringfeldern geht, nicht das es mit Buttons nicht geht.
Ist schade, das reduziert die Bedienbarkeit meines Programmes auf ein Minimum !

Zitat:
Meinst Du damit eine Funktion, die in Abhängigkeit vom Dateityp das passende Programm startet? Gibt es denn überhaupt im OS > 3.1 eine Möglichkeit, Dateitypen und dazu passende Programme zu definieren? Ich kenne das nur von der "idm.library".

Tschüß André


von der idm.library habe noch nie was gehört, wo finde ich denn da was zu ?
Was für Möglichkeiten gibt es denn sonst um HTML-Dokumente zu öffnen oder besser noch direkt zu drucken (nicht den Quelltext!)


[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 14:10 Uhr

geit
Posts: 332
[Ex-Mitglied]

TabCycle funktioniert nur bei Eingabefeldern.

Für alles andere sind die durch "_" markierten Hotkeys gedacht. So kann man mit Tastendruck das Stringgadget aktivieren, mit TBA in andere Strings wechseln und mit Return aktiviert man wieder die normalen "_" Shortcuts.

Die Shortcuts sind wesentlich schneller und effizienter zu benutzen, als ein Eingabe-Rahmen, wie er bei Windows/MUI genutzt wird. Man muß nicht erst so lange Tab drücken, bis man auf dem Gadget ist, sondern kann es direkt anwählen.

Guido Mersmann

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 14:15 Uhr

melior
Posts: 160
Nutzer
Zitat:
von der idm.library habe noch nie was gehört, wo finde ich denn da was zu ?

Aminet:util/libs/IdmLib.lha

Zitat:
Was für Möglichkeiten gibt es denn sonst um HTML-Dokumente zu öffnen oder besser noch direkt zu drucken (nicht den Quelltext!)

Da fällt mir nur die openurl.library ein (ebenfalls im Aminet). Damit müßtest Du das HTML-File öffnen können. Zum Drucken wirst Du wohl den "Drucken"-Knopf des Webbrowsers benutzen müssen.

Tschüß André

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 17:27 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Zitat:
Original von geit:

TabCycle funktioniert nur bei Eingabefeldern.

Für alles andere sind die durch "_" markierten Hotkeys gedacht. So kann man mit Tastendruck das Stringgadget aktivieren, mit TBA in andere Strings wechseln und mit Return aktiviert man wieder die normalen "_" Shortcuts.

Die Shortcuts sind wesentlich schneller und effizienter zu benutzen, als ein Eingabe-Rahmen, wie er bei Windows/MUI genutzt wird. Man muß nicht erst so lange Tab drücken, bis man auf dem Gadget ist, sondern kann es direkt anwählen.

Guido Mersmann


Danke für den Tip, ich aber noch ein paar Fragen.
Das ist wein Gadget:

wingads[BTID_DRUCKEN]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[B TID_DRUCKEN],GA_Disabled,gadgetdata->gd_Disabled_BTDRUCKEN,GT_Undersco re,'_',TAG_END);

ich hab im Beschriftungsteil

"_drucken"

also Unterstrich drucken.

Im Programmfenster ist das 'd' jetzt unterstrichen.

Aber mit welcher Tastenkombination, klicke ich den Button ?
Ist wahrscheinlich ne blöde, Frage aber mein letzter "echter" Amiga ist ein CD32 und da Tipp ich nicht so viel mit...


P.S. Bei einem Dialogfenster mit 3 Eingabefelder und 2 Buttons ist die TABSTOP Variante von Windows gar nicht so verkehrt.

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 20:03 Uhr

thomas
Posts: 7716
Nutzer

Das mußt du selber programmieren:
Zitat:
note that GadTools does not process the keys - it just displays the underscore

Einfach IDCMP_VANILLAKEY einschalten, dann bekommst du die Tasten mit.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 21:10 Uhr

Kaesebroetchen
Posts: 643
Nutzer
@thomas

Ich kann die Tasten mit VanillaKey abfragen, aber wenn der Cursor in einem Stringfeld ist, und das ist er eigentlich immer, dann reagiert das Programm darauf nicht.
Kann man das irgendwie umgehen ? :dance3:

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 22:38 Uhr

thomas
Posts: 7716
Nutzer

Das hat geit dir schon gesagt: du drückst einfach auf Return, dann ist der Cursor nicht mehr in einem Eingabefeld.

Du kannst die Tasten auch als Menü-Shortcuts eintragen, dann kannst du die Befehle mit Amiga+Taste aufrufen.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

21.12.2004, 23:46 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Ja, danke.
Das hatte ich nicht richtig verstanden.

Jetzt habe ich noch eine Frage (die Fragen gehen mir so schnell auch nicht aus !).

Ich habe in meinem Programm einen Requester, der beim Programmstart aufgerufen wird und eine Entscheidung verlangt.
In diesem Requester ist recht viel Text, den ich mit 'n' formatiert habe.
Unter OS3.5 geht der gut lesbar auf, so wie es geplant war.

Jetzt wollte ich mein Programm mal dahingehend testen, ob auch auf einem "nackten" A1200 mit OS 3.1 läuft.
Tut es auch,aber in dem Requester steht nur Schrott und aus den 2 Buttons hat OS 3.1 einem gemacht.

Woran kann das liegen ?

[ - Antworten - Zitieren - Direktlink - ]

22.12.2004, 00:36 Uhr

Holger
Posts: 8116
Nutzer
Welchen requester benutzt Du denn?
EasyRequest... sollte eigentlich ab OS2.0 funktionieren.

Für Deine "ShellExecute"-Funktion gibt es die Funktion OpenWorkbenchObjectA, die genauso funktionieren soll, als ob der Benutzer die Datei von der Workbench geöffnet hätte. Automatisch drucken geht damit allerdings nicht. Und sie existiert erst ab OS3.5.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > GA_TabCycle auch für Buttons ? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.