![]() |
Tastatur Eingabe im Canvas Objekt
Hallo
Wenn mehrere Menüs mit Image Componente/Canvas objekt aufgebaut sind funktionierte in diesen Menüs die Editkomponente nicht mehr. Gibt es ausser TastaturHook DLL noch eine andere Möglichkeit für Eingabe über Tastaur oder Maus die in beliebigen Menüs(und damit in verschiedenen Forms) funktionieren würde ? Ich habe schon verschiedentlich Warnungen gelesen über die TastaturHooks. Ist etwas wahres daran ? |
AW: Tastatur Eingabe im Canvas Objekt
Menüs mit Eingabefeldern? Menüs sind für mich da zu da, Programmfunktionen aufzurufen oder auszuführen, aber nicht für Eingaben.
|
AW: Tastatur Eingabe im Canvas Objekt
Hallo Luckie,
Vielleicht meinen wir nicht das Gleiche mit Menüs. Bei einem Bediener Menü von einer CNC Steuerung möchte man einerseits Istwerte sowie auch graphische Darstellung des gefahrenen Wegs sehen. Und auf dem gleichem Menü möchte man die graphische Darstellung zwischen der Ebene1 (X,Y) in Ebene 2(Z,W) oder Nr3 usw. Dazu muss man die Ebene Nr. Eingeben. Da will man nicht Menue wechseln sondern nur eine Teil-Graphik aufbauen. Und das ist nicht das einzige. Auch Istwerte von z.Bsp 16 Achsen müssen mit jeweils zu 8 Achsen (möglichst grosse Ziffern)umgeschaltet werden. usw. usw. |
AW: Tastatur Eingabe im Canvas Objekt
Das DevExpressMenü kann sowas.
Da kann man Edits, CheckBoxen, ComboBoxen usw. ins (Haupt)Menü einbauen. |
AW: Tastatur Eingabe im Canvas Objekt
Hallo Himitsu
Zitat:
Ich denke eher an etwas was ich selber machen kann. Meine Frage ist: habe ich ausser TastaturHook eine andere Alternative ? Gruss Anton |
AW: Tastatur Eingabe im Canvas Objekt
Die Tastatureingaben gehen ja ans Menü und nicht an die Items, also müsstest du das Menü um eine entsprechende Tastaturbehandlung erweitern, welche dann an die Items weitergeleitet werden.
Und wenn ein Item im Memü den Eingabefokus bekommen soll und sich das Menü schließt, wenn es den Fokus verliert, dann wirst du eventuell auch noch ein eigenes Menü basteln müssen. |
AW: Tastatur Eingabe im Canvas Objekt
Ja was meinst Du mit den Items genau ? resp. was meinst du mit Menü ?
Ich habe bereits ein erste Versuch gestartet mit TastaturHook DLL Wenn ich das ganze im Form2 installiere funktioniert es.Eingaben werden versuchsweise in einem Memo angezeigt. Sobald ich aber in Form2 den Canvas objekt benütze, funktioniert die Tastatur Eingabe nicht mehr. Muss ich den Tastaturhook in ein Thread auslagern damit es aus allen Form ansprechbar ist ? |
AW: Tastatur Eingabe im Canvas Objekt
Ich glaube hier gibt es ein Missverständnis bzgl. "Menü": Der normale Delphianer versteht darunter ganz spezifisch die TMainMenu Komponente. In der industriellen Maschinen- und Anlagensteuerung, bzw. dem Thema HMI, bezeichnet ein "Menü" in etwa das, was wir anderen hier i.A. als ein TForm verstehen würden. Ein anwählbares Bild, welchen diverse E/A Elemente und Grafiken beinhaltet, die zur Steuerung dienen.
So wie sich das hier liest, glaube ich fast, dass letzteres vom TE hier gemeint ist. Allerdings weiss ich dann nicht mehr so 100% wo genau das Problem ist. Ab hier wäre etwas Beispielcode und ggf. ein Screenshot wirklich hilfreich. |
AW: Tastatur Eingabe im Canvas Objekt
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Medium
Danke für die Begriffsklärung. Ich bin eben kein normale Delphianer sondern blutige Anfänger(im pensionsalter). In dem Fall das, was ich unter Menü verstehe ist die Form. (Ich komme aus der Steuerungsbranche wie Du richtig festgestellt hast). Ich glaube Code ist zu umfangreich, aber ich sende ein Screenshot von der TForm2 an der ich momentan arbeite. Es gibt in diesem Menü(Form2.Canvas..) nur eine einzige Eingabe (Buchstabe A) zum Istwertanzeige toggeln zwischen Achse1 bis 8 oder 9 bis 16. (siehe Anzeigewechsel<A>) Das ist erste Versuch,beim nächste Menü(Form3: Programmiermenü) wird es viel mehr Eingaben geben. Das es im Canvasobjekt keine Editkomponente funktioniert, habe ich auch schon festgestellt. Ich habe es mit TastaturHook DLL probiert aber es funktioniert auch nicht. Andereseits sind die Globale Variable die ich mit eine Thread ab Comport einlese in allen Forms verwendbar. Darf man also den TastaurHook DLL Zugriff in den gleichen Thread zufügen ? Oder was habe ich ausser teuere Komponenten Einkaufen für andere Möglichkeiten ? Gruss Anton |
AW: Tastatur Eingabe im Canvas Objekt
Wenn ich das richtig verstehe, sollen da keine langen Texte eingegeben werden, sondern nur ein Zeichen zur Programmsteuerung. Dann könnte man doch einfach im OnKeypress des Forms auf den Tastendruck reagieren.
Evtl. muss KeyPreview auf true gesetzt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz