Установка клавиш быстрого доступа

  • Автор темы Vadik(R)
  • Дата начала
V

Vadik(R)

Люди, пусть есть код:
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:='ok';
end;

end.
Короче, кликая по кнопке, в поле едит появляеться ОК.
Вот сам вопрос: если присвоить имя кнопке &Button1, то кликнуть по ней можно нажав <Alt>+<B>
если присвоить имя кнопке &!utton1, то кликнуть по ней можно нажав <Alt>+<!>
А как сделать так, чтобы подчеркивание было символа амперсанда? То есть клавиши быстрого доступа были <Alt>+<&>? &&&Button1 - не подходит.
 
C

Chernobyl

Ну с Alt-ом у меня не получилось, а просто с буквой например &Help или Иг&ра у меня получилось только есть один минус если &Help то должен стоять англиский язык
А если Иг&ра то RU иначе не будет действовать :(
Так что можно предупредить пользователя что клава RU или EN
Друговввво способа я пока не нашёл :unsure:
 
M

morpheus

<!--QuoteBegin-Vadik®+30:12:2007, 13:44 -->
<span class="vbquote">(Vadik® @ 30:12:2007, 13:44 )</span><!--QuoteEBegin-->амперсанда
[snapback]91866" rel="nofollow" target="_blank[/snapback]​
[/quote]
и как Вы , интересно мне знать зделаете это на клавиатуре...
Вам надо будет нажать Shift+Alt+7 ... многовато как то получаеться
 
V

Vadik(R)

Мне просто интересно, возможно ли вообще такое? Раньше я думал, что невозможно напечатать одинарную кавычку, так как в них пишется строка. Ну ничего, разобрался. А с амперсандом на кнопке - нет.
 
C

Chernobyl

:) Возможно всё! Только надо уметь это делать.
 
Z

zubr

Вариантов много: WM_SETHOTKEY, RegisterHotKey. Вот вариант попроще через VCL:
1. Берем компонент TMainMenu, создаем новое меню TMenuItem.
2. В новом меню в свойстве ShortCut=Shift+7
3. Для нового меню в инспекторе объектов для обработчика OnClick выбираем обработчик нужной кнопки.
4. Если не хотим, чтобы данное меню было видно, делаем для данного меню Visible=False
5. Пользуемся.
 
C

Chernobyl

Или удаляем из Form.menu надпись MainMenu1 если меню совсем не нужно
 
V

Vadik(R)

Это все хорошо, а можно ли это как-то сделать, чтобы амперсанд на кнопке был подчеркнутым?
 
V

Vadik(R)

В каком языке программирования можно подчеркнуть амперсанд?
И вообще, кто в этом виноват: разработчики Delphi или компания MicroSoft? Из-за кого из них я не могу подчеркнуть амперсанд?
 
V

Vadik(R)

Да я это специально написал, темку уже надо бы в юмор перенести.
П. С. А кто такие БГ?

----
О, господи, это ж Билл Гейтс... :)

Он же еще виноват, что когда я гуляю по вашему форуму и открываю много страниц во вкладках, то мой браузер виснет :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!