Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi MenItem einer Taste zuornen (https://www.delphipraxis.net/75494-menitem-einer-taste-zuornen.html)

mimi 20. Aug 2006 11:49


MenItem einer Taste zuornen
 
Hallo,
habe heute mal ein kleinen einstieg in die API programmierg gemacht und wollte ein einfaches menu einfügen, das klappte auch wunderbar. problem ist dabei nur wie kann ich eine tasten kombiation einem menu zuordnen ?

ich finde hier leider auch nichts unter Menu und taste oder so !

vielen dank im vorraus !

Jürgen Thomas 20. Aug 2006 14:15

Re: MenItem einer Taste zuornen
 
Generelle Frage: gehören zur Personal-Version die Quelltexte von Delphi?

Wenn ja, dann kannst Du dort in {Delphi}\Source\...\*.pas Anregungen holen.

Konkret: Tastenkombinationen laufen bei Delphi unter Delphi-Referenz durchsuchenTMenuItem.ShortCut. Danach, wie dort eine Kombination zugeordnet wird, kannst Du vielleicht auch verfahren.

Jürgen

mimi 20. Aug 2006 14:29

Re: MenItem einer Taste zuornen
 
naja um deine frage zu beantworten:nein...
und ich arbeitet mit WINAPI und nicht mit der VCL...

aber danke für die antwort !

Christian Seehase 20. Aug 2006 14:42

Re: MenItem einer Taste zuornen
 
Moin Michael,

angewendet habe ich es noch nicht, aber eigentlich benötigst Du hierfür wohl WM_MENUCHAR und SetMenuItemInfo.
Eventuell kannst Du ja mit diesen Suchbegriffen auch eine deutschsprachige Dokumentation finden.

mimi 20. Aug 2006 16:47

Re: MenItem einer Taste zuornen
 
ich habe jetzt mal gesucht, finde jedoch nichts passendes auser MenuItemInfo und da steht leider nicht was mit tasten zu tuen haben Könnte

teebee 20. Aug 2006 17:41

Re: MenItem einer Taste zuornen
 
Hänge den Shortcut durch ein Tab("\t") getrennt im Klartext an den Text des Menu-Items dran. Hier ein Beispiel aus einer rc-Datei aus dem PSDK:
Code:
FilePopup MENU
BEGIN
    POPUP  "&File"
    BEGIN
        MENUITEM   "&New..",          IDM_NEW
        MENUITEM   "&Open\tCtrl+F12", IDM_OPEN
        MENUITEM   "&Close\tAlt+F4"   IDM_CLOSE
        MENUITEM   "&Save\tShift+F12", IDM_SAVE
        MENUITEM   "Save &As...\tF12", IDM_SAVEAS
    END
END
Gruß, teebee

mimi 20. Aug 2006 21:30

Re: MenItem einer Taste zuornen
 
vielen dank werden ich gleich mal testen !

edit: geht leider nicht !
der \ und was dahinter wird zwar angezeigt aber nicht so wie gewohnt !

weißt evlt. noch jemmand wie ohne RES datei gehen könnte ?

Luckie 20. Aug 2006 21:58

Re: MenItem einer Taste zuornen
 
Meine Tutorials Seite 176. Und den Shortcut im Menü bek0ommst du so hin:
Delphi-Quellcode:
AppendMenu(hSubMenu, MF_STRING, IDM_ITEM1, 'Item&1' + #9 + 'Strg + N');

mimi 21. Aug 2006 10:00

Re: MenItem einer Taste zuornen
 
danke für die antwort wenn ich recht verstehe wird einfach nur ein tab zeichen eingefügt mehr nicht !
damit auch was passirt wenn ich STRG+N drücke muss ich wohl noch ein ereignis abfangen oder ?

teebee 21. Aug 2006 12:54

Re: MenItem einer Taste zuornen
 
Du musst noch eine Accelerator-Table erstellen (oder aus den Resourcen laden), in der jede Tastenkombination mit der ID des entsprechenden Menu-Items 'verbunden' wird.
Schau mal nach MSDN-Library durchsuchenCreateAcceleratorTable
Um auf die ShortCuts zu reagieren, musst Du Sie in der Nachrichtenschleife noch in WM_COMMAND übersetzen lassen MSDN-Library durchsuchenTranslateAccelerator
TranslateAccelerator gleich nach GetMessage aufrufen, wenn False zurückgegeben wird, dann normal mit TranslateMessage und DispatchMessage weitermachen.

Gruß, teebee


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.
Seite 1 von 2  1 2      

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