Edytor akceleratora (C++)

Tabela akceleratora to zasób systemu Windows języka C++, który zawiera listę kluczy skrótów, nazywanych kluczami skrótów i skojarzonych z nimi identyfikatorów poleceń. Program może mieć więcej niż jedną tabelę akceleratora.

Zwykle akceleratory są używane jako skróty klawiaturowe dla poleceń programu, które są również dostępne w menu lub pasku narzędzi. Można jednak użyć tabeli akceleratora, aby zdefiniować kombinacje klawiszy dla poleceń, które nie mają skojarzonego z nimi obiektu interfejsu użytkownika.

Napiwek

W przypadku korzystania z edytora akceleratora kliknij prawym przyciskiem myszy, aby wyświetlić menu skrótów częstych poleceń. Dostępne polecenia zależą od tego, na co wskazuje wskaźnik.

Możesz użyć widoku klasy, aby podłączyć polecenia klawisza akceleratora do kodu. Aby uzyskać listę wstępnie zdefiniowanych kluczy akceleratorów, zobacz Klawisze akceleratora.

Uwaga

System Windows nie umożliwia tworzenia pustych tabel akceleratora. Jeśli tworzysz tabelę akceleratora bez wpisów, zostanie ona usunięta automatycznie podczas zapisywania tabeli.

Właściwości akceleratora

Właściwości akceleratora można ustawić w okno Właściwości w dowolnym momencie. Możesz również użyć Edytora akceleratora, aby zmodyfikować właściwości akceleratora w tabeli akceleratora. Zmiany wprowadzone przy użyciu okna Właściwości lub Edytora akceleratorów mają taki sam wynik, zmiany są natychmiast odzwierciedlane w tabeli akceleratora.

Właściwość ID odwołuje się do każdego wpisu tabeli akceleratora w kodzie programu. Ten wpis jest wartością polecenia, którą program otrzymuje, gdy użytkownik naciska klawisz akceleratora lub kombinację klawisza. Aby akcelerator był taki sam jak element menu, ustaw ten sam identyfikator, tak długo, jak identyfikator tabeli akceleratora jest taki sam jak identyfikator zasobu menu.

Każdy identyfikator akceleratora ma trzy właściwości: Modyfikator, Klucz i Typ

Właściwość Modyfikator ustawia kombinacje klawiszy sterowania dla akceleratora.

Uwaga

W oknie Właściwości właściwość Modyfikator jest wyświetlana jako trzy oddzielne właściwości logiczne, z których wszystkie mogą być kontrolowane niezależnie: Alt, Ctrl i Shift.

Poniżej przedstawiono wpisy prawne dla właściwości Modyfikator w tabeli akceleratora:

Wartość Opis
Brak Użytkownik naciska tylko wartość Klawisz .

Ta wartość jest najbardziej efektywnie używana z wartościami ASCII/ANSI od 001 do 026, które są interpretowane jako ^A do ^Z (Ctrl+A przez Ctrl+Z).
Alt Użytkownik musi nacisnąć klawisze Alt przed wartością Klawisz .
Ctrl Użytkownik musi nacisnąć klawisze Ctrl przed wartością Klawisz , nieprawidłowa z typem ASCII.
Shift Użytkownik musi nacisnąć klawisze Shift przed wartością Klawisz .
Ctrl+Alt Użytkownik musi nacisnąć klawisze Ctrl i Alt przed wartością Klawisz , która jest nieprawidłowa z typem ASCII.
Ctrl+Shift Użytkownik musi nacisnąć klawisze Ctrl i Shift przed wartością klawisza , która jest nieprawidłowa z typem ASCII.
Alt+Shift Użytkownik musi nacisnąć klawisze Alt i Shift przed wartością Klawisz , która jest nieprawidłowa z typem ASCII.
Ctrl+Alt+Shift Użytkownik musi nacisnąć klawisze Ctrl, Alt i Shift przed wartością Klawisz , nieprawidłową z typem ASCII.

Właściwość Key ustawia rzeczywisty klucz do użycia jako akcelerator.

Poniżej przedstawiono wpisy prawne dla właściwości Klucz w tabeli akceleratora:

Wartość Opis
Liczba całkowita z zakresu od 0 do 255 w formacie dziesiętnym. Wartość określa, czy wartość jest traktowana jako ASCII lub ANSI w następujący sposób:

- Liczby jednocyfrowe są zawsze interpretowane jako odpowiedni klucz, a nie jako wartości ASCII lub ANSI.
- Wartości od 1 do 26, gdy poprzedzone zerami, są interpretowane jako ^A do ^Z, który reprezentuje wartość ASCII liter alfabetu po naciśnięciu klawisza Ctrl przytrzymane.
- Wartości z zakresu od 27 do 32 są zawsze interpretowane jako trzycyfrowe wartości dziesiętne od 027 do 032.
- Wartości od 033 do 255, niezależnie od tego, czy poprzedzone wartościami 0, czy nie, są interpretowane jako wartości ANSI.
Pojedynczy znak klawiatury. Wielkie litery A — Z lub cyfry 0 – 9 mogą być wartościami ASCII lub wirtualnymi kluczami. Każdy inny znak jest tylko znakiem ASCII.
Pojedynczy znak klawiatury w zakresie A - Z (tylko wielkie litery), poprzedzony daszkiem (^), na przykład ^C. Ta opcja wprowadza wartość ASCII klawisza po naciśnięciu klawisza ctrl wciśniętym w dół.
Dowolny prawidłowy identyfikator klucza wirtualnego. Pole klucz listy rozwijanej w tabeli akceleratora zawiera listę standardowych identyfikatorów kluczy wirtualnych.

Uwaga

Podczas wprowadzania wartości ASCII opcje właściwości Modyfikatora są ograniczone. Jedynym dostępnym do użycia kluczem sterującym jest klawisz Alt .

Napiwek

Skrótem do zdefiniowania klawisza akceleratora jest kliknięcie prawym przyciskiem myszy wpisu lub wielu wpisów w tabeli akceleratora, a następnie wybranie pozycji Dalej Wpisz i naciśnij dowolne klawisze lub kombinacje klawiszy na klawiaturze.

To następne polecenie wpisanego klucza jest również dostępne w menu Edycja .

Właściwość Type określa, czy kombinacja klawisza skrótu skojarzona z identyfikatorem akceleratora jest interpretowana jako wartość klucza ASCII/ANSI lub kombinacja klucza wirtualnego (VIRTKEY).

  • Jeśli właściwość Type ma wartość ASCII, właściwość Modyfikator może mieć None wartość lub Altlub może mieć akcelerator używający klawisza Ctrl, jak określono, poprzedzając klucz znakiem ^.

  • Jeśli właściwość Type ma wartość VIRTKEY, dowolna kombinacja wartości modyfikatora i klucza jest prawidłowa.

Uwaga

Jeśli chcesz wprowadzić wartość w tabeli akceleratora i mieć wartość traktowaną jako ASCII/ANSI, wybierz typ wpisu w tabeli i wybierz pozycję ASCII z listy rozwijanej. Jeśli jednak użyjesz polecenia Next Key Typed z menu Edycja , aby określić klucz, musisz zmienić właściwość Type z VIRTKEY na ASCIIprzed wprowadzeniem kodu klucza .

Tabele akceleratora

W projekcie języka C++ można edytować tabelę akceleratora bezpośrednio przy użyciu edycji w miejscu w edytorze akceleratora.

Poniższe procedury odnoszą się do używania standardowych stron właściwości, jednak zarówno edytowanie w miejscu, jak i metoda strony właściwości mają ten sam wynik. Zmiany wprowadzone przy użyciu stron właściwości lub edycji w miejscu są natychmiast odzwierciedlane w tabeli akceleratora.

Aby edytować w tabeli akceleratora

  1. Otwórz tabelę akceleratora, klikając dwukrotnie jej ikonę w widoku zasobów.

  2. Wybierz wpis w tabeli i wybierz, aby aktywować edycję w miejscu.

  3. Wybierz z pola kombi listy rozwijanej lub wpisz, aby wprowadzić zmiany:

    • W polu Identyfikator wybierz z listy lub wpisz, aby edytować.

    • W polu Modyfikator wybierz z listy.

    • W polu Klucz wybierz z listy lub wpisz, aby edytować.

    • W polu Typ wybierz pozycję ASCII lub VIRTKEY z listy.

Aby znaleźć wpis w otwartej tabeli akceleratora

  1. Otwórz tabelę akceleratora, klikając dwukrotnie jej ikonę w widoku zasobów.

  2. Wybierz nagłówek kolumny, aby posortować zawartość kolumny alfabetycznie. Na przykład wybierz pozycję Identyfikator , aby wyświetlić wszystkie identyfikatory w tabeli akceleratora alfabetycznie.

    Następnie możesz zeskanować listę i znaleźć wpis.

Aby dodać wpis do tabeli akceleratora

  1. Otwórz tabelę akceleratora, klikając dwukrotnie jej ikonę w widoku zasobów.

  2. Kliknij prawym przyciskiem myszy w tabeli akceleratora i wybierz pozycję Nowy akcelerator lub wybierz pusty wpis wiersza w dolnej części tabeli.

  3. Wybierz identyfikator z listy rozwijanej w polu Identyfikator lub wpisz nowy identyfikator w polu Identyfikator.

  4. Wpisz klucz, którego chcesz użyć jako akceleratora, lub kliknij prawym przyciskiem myszy, a następnie wybierz pozycję Następny typ klucza, aby ustawić kombinację klawiszy, lub przejdź do menu Edytuj>następny typ klucza.

  5. W razie potrzeby zmień modyfikator i typ, a następnie naciśnij klawisz Enter.

Uwaga

Upewnij się, że wszystkie zdefiniowane akceleratory są unikatowe. Można mieć kilka kombinacji klawiszy przypisanych do tego samego identyfikatora bez złego efektu, na przykład ctrl +P i F8 można przypisać do ID_PRINT. Jednak posiadanie kombinacji klawiszy przypisanej do więcej niż jednego identyfikatora nie będzie działać dobrze, na przykład Ctrl+Z przypisane zarówno do ID_SPELL_CHECK, jak i ID_THESAURUS.

Aby usunąć wpis z tabeli akceleratora

  1. Otwórz tabelę akceleratora, klikając dwukrotnie jej ikonę w widoku zasobów.

  2. Wybierz wpis, który chcesz usunąć, lub przytrzymaj naciśnięty klawisz Ctrl lub Shift , wybierając pozycję, aby wybrać wiele wpisów.

  3. Kliknij prawym przyciskiem myszy i wybierz polecenie Usuń lub przejdź do menu Edytuj>usuń.

Napiwek

Możesz również nacisnąć klawisz Delete , aby usunąć.

Aby przenieść lub skopiować wpis tabeli akceleratora do innego pliku skryptu zasobu

  1. Otwórz tabele akceleratora w plikach skryptów zasobów i wybierz wpis, który chcesz przenieść.

  2. Z menu Edycja wybierz pozycję Kopiuj lub Wytnij.

  3. Wybierz wpis w pliku skryptu zasobu docelowego, a następnie z menu Edytuj wybierz pozycję Wklej.

Uwaga

Możesz również użyć klawiszy skrótów do kopiowania i wklejania.

Aby zmienić właściwości wielu kluczy akceleratora

  1. Otwórz tabelę akceleratora, klikając dwukrotnie jej ikonę w widoku zasobów.

  2. Wybierz klawisze akceleratora, które chcesz zmienić, przytrzymując wciśnięty klawisz Ctrl podczas wybierania każdego z nich.

  3. Przejdź do okno Właściwości i wpisz wartości, które mają zostać udostępnione przez wszystkie wybrane akceleratory.

Uwaga

Każda wartość modyfikatora jest wyświetlana jako właściwość logiczna w oknie Właściwości . Jeśli zmienisz wartość modyfikatora w oknie Właściwości , tabela akceleratora traktuje nowy modyfikator jako dodatek do wszelkich modyfikatorów, które były tam wcześniej. W związku z tym, jeśli ustawisz jakiekolwiek wartości modyfikatora, musisz ustawić wszystkie z nich, aby upewnić się, że każdy akcelerator współużytkuje te same ustawienia modyfikatora .

Wymagania

Win32

Zobacz też

Edytory zasobów
Klawisze skrótów