AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastatur Eingabe im Canvas Objekt

Ein Thema von akurka · begonnen am 29. Okt 2014 · letzter Beitrag vom 3. Nov 2014
Antwort Antwort
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#1

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 09:56
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 ?
Anton Kurka

Geändert von akurka (30. Okt 2014 um 10:20 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.687 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 10:28
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#3

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 12:45
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
Angehängte Grafiken
Dateityp: jpg Ref_Man.jpg (161,2 KB, 34x aufgerufen)
Anton Kurka
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
722 Beiträge
 
Delphi 12 Athens
 
#4

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 13:04
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#5

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 13:15
Nicht alle Tasten stehen in OnKeyPress zur Verfügung. (Pfeil-Tasten z.B.)
In diesem Fall OnKeyDown oder OnKeyUp verwenden.

Alternativ kommt man über MSDN-Library durchsuchenGetAsyncKey an die Tasten, aber ein Event hat viele Vorteile. (voallem daß sie sofort reagieren und man nicht pollen muß)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#6

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 13:37
Hallo bcvs
Ja richtig, aber es werden in den späteren Menues/Forms u.A auch Koordinateneingaben folgen.
Aber onKeyPress oder Down.. funktionieren unter Canvas nicht,ob ich keyPreview auf on oder off hat kein Einfluss.
Die onkey.. funktionieren im Form2 bis zu dem Punkt wo ich mit Button in Form1
der Menüaufbau im Form2 starte (diese wird mit Form2.Canvas.rectangle , row,column ,usw. gemacht.Ab diesen Punkt ist keine Eingabe über Tastatur möglich.
gruss Anton
Anton Kurka
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
722 Beiträge
 
Delphi 12 Athens
 
#7

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 17:49
Wenn ich dich richtig verstehe, malst du deine Ausgabe auf den Canvas des Form.

Und wo sollen die Koordinaten dann später eingegeben werden?. Du könntest doch deine Ausgabe auch in eine Paintbox malen, die nicht das ganze Form ausfüllt und z.B. oberhalb noch ein Editfeld oder sonstige sinnvolle Komponenten reinsetzen.
  Mit Zitat antworten Zitat
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#8

AW: Tastatur Eingabe im Canvas Objekt

  Alt 30. Okt 2014, 23:30
Hallo bcvs
ja, es wird alles auf der FormX.Canvas dargestellt, sowohl die div. Anzeigen sowie die Eingaben. Anzufügen ist,dass ich in der Gestaltung
nur sehr wenig Spielraum habe, die Kunden benützen die bisherige Menüs schon Jahrelang. So soll es in der Aufteilung sowie in der Bedienung gleich bleiben.
Du fragst, wo sollen die Koordinaten eingegeben werden.
Ich lege eine Abbildung von alten Menüs bei. Das wird dann das neue Form3/Progmenue sein. Das Ganze aufzuteilen ist praktisch unmöglich, darum muss ich eine Möglichkeit finden für eine direkte Eingabe auf dem Canvas.
Himitsu's Vorschlag für Form2/MAN-REF Menu mit GetAsyncKeyStatus funktioniert, für ein einziges Zeichen geht es noch. Für lange und viele Eingaben ist es aber sehr umständlich.
Gruss Anton
Angehängte Grafiken
Dateityp: jpg ProgMenue3.jpg (111,8 KB, 27x aufgerufen)
Anton Kurka
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:44 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 by Thomas Breitkreuz