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

Vadik(R)

Well-Known Member
12.12.2007
469
0
#1
Люди, пусть есть код:
Код:
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

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

morpheus

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

Vadik(R)

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

Chernobyl

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

zubr

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

Chernobyl

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

Vadik(R)

Well-Known Member
12.12.2007
469
0
#8
Это все хорошо, а можно ли это как-то сделать, чтобы амперсанд на кнопке был подчеркнутым?
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#9
В каком языке программирования можно подчеркнуть амперсанд?
И вообще, кто в этом виноват: разработчики Delphi или компания MicroSoft? Из-за кого из них я не могу подчеркнуть амперсанд?
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#10
Да я это специально написал, темку уже надо бы в юмор перенести.
П. С. А кто такие БГ?

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

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