30.03.2010, 13:51
Beitrag #1
|
|
|
30.03.2010, 13:58
Beitrag #2
|
|
|
30.03.2010, 14:01
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2010 14:03 von dimitri84.)
Beitrag #3
|
|
|
30.03.2010, 14:50
Beitrag #4
|
|
|
30.03.2010, 14:58
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2010 15:13 von dimitri84.)
Beitrag #5
|
|
|
30.03.2010, 15:13
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
programmatisch Menüauswahl treffen
Das hört sich doch wieder einmal nach einem klassischen Fall für eine State-Machine an...
Ein Case pollt dein Menu.
In den weiteren Cases wird verarbeitet, wenn was im Menu ausgewählt wurde.
Ein Case davon ist der Refresh.
Da du jetzt eine State-Machine hast, kannst du jederzeit von deinem Warte/Pollzustand (auch ohne Event) in den Refresh-Case springen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
30.03.2010, 18:38
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2010 19:39 von dimitri84.)
Beitrag #7
|
dimitri84
Astronaut
Beiträge: 1.496
Registriert seit: Aug 2009
2020 Developer Suite
2009
DE_EN
53562
Deutschland
|
programmatisch Menüauswahl treffen
' schrieb:Ein Case pollt dein Menu.
In den weiteren Cases wird verarbeitet, wenn was im Menu ausgewählt wurde.
Ein Case davon ist der Refresh.
Da du jetzt eine State-Machine hast, kannst du jederzeit von deinem Warte/Pollzustand (auch ohne Event) in den Refresh-Case springen.
Ich weiß nicht, ob ich das so auf mein Programm anwenden kann ohne eine grundlegende Perestroika. Aber ich merk's mir für das nächste Mal.
Jetzt ist es so in etwa:
State-Machine bei der ich im Idle-Frame nebenbei das Menü polle. Menü-Tags werden im selben Idle-Frame verarbeitet. Wenn die anderen Frames dran sind, wird das Menü einfach deaktiviert (ausgegraut).
Aber woher der Selektor seinen Wert bekommt kann man ja ohne viel Aufwand beeinflussen. Irgendwie so mit einem First-Run-Flag z.B.:
So in der Art mach ich das dann auch.
Ich dachte einfach vielleicht kann man auch ganz easy einen Menüeintrag simulieren. Wie ein Benutzerereignis z.B.. Aber das "Workaround" ist ja auch kein Aufwand.
Gruß dimitri
„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
|
|
|
05.07.2010, 07:25
Beitrag #8
|
we.thom
LVF-Grünschnabel
Beiträge: 25
Registriert seit: Mar 2010
8.5
2009
de
79183
Deutschland
|
programmatisch Menüauswahl treffen
Guten Morgen,
ich habe das Problem das ich das hochgeladene Vi nicht ganz nachvollziehen kann. Ich möchte ein Programm mit Hilfe von LabVIEW öffnen (Beispielsweise Excel). Das funktioniert auch. Jetzt möchte ich mit LabVIEW eine Tastenkombination simulieren und in Excel ausführen lassen.
Da ich noch nicht viel programmiert habe, stellt sich das als größeres Problem dar. Brauche ich dafür zwingend diese ,,dll,,? Ich weiß zwar was es heißt, kann aber nicht verstehen wofür es notwendig ist. Für eine Erklärung wäre sehr dankbar.
Mit freundlichen Grüßen
Thomas
|
|
|
05.07.2010, 08:36
Beitrag #9
|
|
|
05.07.2010, 08:43
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
programmatisch Menüauswahl treffen
' schrieb:Brauche ich dafür zwingend diese ,,dll,,? Ich weiß zwar was es heißt, kann aber nicht verstehen wofür es notwendig ist. Für eine Erklärung wäre sehr dankbar.
Die Funktionen der DLL machen das, was du gesagt hast: einen Tastendruck simulieren.
Ein Tastendruck wird simuliert, indem in den Tastaturpuffer (oder Maus-Puffer, etc.) geschrieben wird. Dafür gibt es den Betriebssystem-Befehl SENDINPUT. Die DLL macht also nichts weiter, als den Befehl SENDINPUT zur Verfügung zu stellen. Die Applikation, die gerade den Fokus hat, bedient sich am Tastaturpuffer - und ist somit fernsteuerbar.
Inwieweit das unter Win7, also für nicht-Win32-Systeme, noch geht, weis ich nicht.
Sollte deine Aufgabe allerdings mit ActiveX möglich sein, solltest du das verwenden.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
| |