AGB  ·  Datenschutz  ·  Impressum  







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

Menüpunkt per Prog hervorheben - nur wie?

Ein Thema von Marco Steinebach · begonnen am 18. Jan 2018 · letzter Beitrag vom 19. Jan 2018
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 18. Jan 2018, 15:47
Hallo,
also jetzt widersprichst Du dich.

Aussage 1
Zitat:
gleich der Punkt "Textdokument" ausgewählt ist - also nicht schon angeklickt, sondern nur so, dass man jetzt mit den Pfeiltasten eben zwischen TextDokument und MP3 wechseln kann
Der Menu-Cursor steht auf Textdokument, aber die Aktion ist noch erfolgt.

Delphi-Quellcode:
  keybd_event(VK_MENU, 0, 0, 0);
  keybd_event(Ord('D'), 0, 0, 0);
  keybd_event(VK_DOWN, 0, 0, 0);
Achtung:
Irgendwas fehlt hier noch, meine IDE durfte ich danach neustarten (KEYUP?).
Einfach mal im Netz nach keybd_event suchen.


Aussage 2
Zitat:
Ich möchte blos, dass, wenn der User strg+n drückt, das gleiche passiert, was auch nach druck auf alt+d, n, passiert wäre
Die Aktion Textdokument soll also erfolgen.

MenuItem.OnClick(nil); Oder besser gleich eine ActionList benutzen.
Heiko

Geändert von hoika (18. Jan 2018 um 16:07 Uhr)
  Mit Zitat antworten Zitat
pesi

Registriert seit: 29. Aug 2003
Ort: 36217 Ronshausen
117 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 18. Jan 2018, 16:24
In Anlehnung an den Beitrag von Hoika, einfach das

keybd_event(VK_DOWN, 0, 0, 0);

in das OnClick-Event des MenuItems "Datei" legen.

Also so:

procedure TForm1.Datei1Click(Sender: TObject);
begin
keybd_event(VK_DOWN, 0, 0, 0);
end;

Klappt bei meinem Versuch Bestens

Gruß Peter
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#3

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 18. Jan 2018, 16:40
eine weitere alternative würde der Hotkey part aus meinem Trainer projekt sein,
die arbeitet global (systemweit) und nicht nur lokal (innerhalb deines programms) !!!

http://www.delphipraxis.net/194846-w...y-patcher.html

damit kannst du Hotkeys alles mögliche machen lassen unter anderem auch eine menufunktion ausführen...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 18. Jan 2018, 17:15
eine weitere alternative würde der Hotkey part aus meinem Trainer projekt sein,
die arbeitet global (systemweit) und nicht nur lokal (innerhalb deines programms) !!!

damit kannst du Hotkeys alles mögliche machen lassen unter anderem auch eine menufunktion ausführen...
Sowas will er doch garnicht machen.

Lesen?



Den Hotkey hat er bereits, aber die Aktion, welche ausgeführt werden soll, da hängt es.
Zitat:
Menüpunkt per Prog hervorheben - nur wie?
Soll wohl so viel heißen wie "Menü automatisch öffnen und Item selektieren+fokusieren".

Direkte API-Funktionen und Messages scheint es für sowas nicht zu geben (nicht gefunden), also bleibt wohl nur die Simulation von Maus/Tastatur.

Im Prinzip kann man die SubMenüs wie Popups ansehen.
* die MenuItems könnte man kopieren lassen
* und beim TPopupMenu gibt es eine API zum öffnen des Menüs (Delphi-Referenz durchsuchenTPopupMenu.Popup)
** einfach nur noch die Position berechnen, wo sich das Parent-MenuItems (erste Ebene im MainMenu) und darunter das Popup öffnen
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 19. Jan 2018, 10:28
eine weitere alternative würde der Hotkey part aus meinem Trainer projekt sein,
die arbeitet global (systemweit) und nicht nur lokal (innerhalb deines programms) !!!
Ein lokales Problem global lösen zu wollen, ist fast immer eine ganz schlechte Idee. Insbesondere bei Hotkeys. Wer weiße, welche lokalen Hotkeys du bei anderen Anwendungen damit unbrauchbar machst.

Ich glaube Delphi 7 und ICQ waren damals sein ein Fall. ICQ hatte globale Hotkeys registriert und damit die lokalen Hotkeys in der Delphi IDE unbrauchbar gemacht. Kann aber auch ein anderes Programmpaar gewesen sein. bin mir nicht mehr so sicher.)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 19. Jan 2018, 10:35
ist fast immer eine ganz schlechte Idee.
Es hätte das Problem eh nicht gelöst. Der Hotkey ging ja, aber dessen Funktion nicht.

Noch besser, wenn das Programm nicht den Fokus hat, da kann das mit den Menüs schnell ganz schief gehen, da diese sich im Allgemeinen schließen, wenn das Programm keinen Eingabefokus mehr hat.

Aber man kann dann zusätzlich auch noch die Simulation der Maus/Tastatur global machen, also nicht an das eigenen Handle schicken, sondern im System diese Ereignisse auslösen, dann gehen die auch gleich noch ans falsche Programm.
PS: cnPack registriert für den DesignEditor einen Hotkey, aber der überdeckt auch gleich das Strg+Shift+F vom Code-Editor und zeigt dort stattdessen nur eine "Geht nicht"-Fehlermeldung an.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (19. Jan 2018 um 10:41 Uhr)
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#7

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 19. Jan 2018, 10:56
Aber ihr hab schon bemerkt das mein zweiter post das simulierte/virtuelle tasten-thema anspricht und bereits verkündet wurde das die globale variante schrott ist?
Ist zwar nett das nochmal anzusprechen, aber auf den zweiten post kam keine negative nachricht ausser das es beim TE nicht geklappt hat, warum auch immer.
Hab sogar noch simulierte/virtuelle maus befehle beschrieben wenn man hartnäckig genug wäre hätte das ja zumindest geklappt.

Hab euch lieb
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Menüpunkt per Prog hervorheben - nur wie?

  Alt 19. Jan 2018, 11:09
Alternative über Aktionlist und Aktion den Secondary Shortcut nutzen ?
Uwe
e=mc² or energy = milk * coffee²
  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 07:48 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