Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установка клавиш быстрого доступа
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - FAQ
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 - не подходит.
Chernobyl
Ну с Alt-ом у меня не получилось, а просто с буквой например &Help или Иг&ра у меня получилось только есть один минус если &Help то должен стоять англиский язык
А если Иг&ра то RU иначе не будет действовать sad.gif
Так что можно предупредить пользователя что клава RU или EN
Друговввво способа я пока не нашёл smile.gif
Morpheus
Цитата(Vadik® @ 30:12:2007, 13:44 )
амперсанда
*

и как Вы , интересно мне знать зделаете это на клавиатуре...
Вам надо будет нажать Shift+Alt+7 ... многовато как то получаеться
Vadik(R)
Мне просто интересно, возможно ли вообще такое? Раньше я думал, что невозможно напечатать одинарную кавычку, так как в них пишется строка. Ну ничего, разобрался. А с амперсандом на кнопке - нет.
Chernobyl
biggrin.gif Возможно всё! Только надо уметь это делать.
zubr
Вариантов много: WM_SETHOTKEY, RegisterHotKey. Вот вариант попроще через VCL:
1. Берем компонент TMainMenu, создаем новое меню TMenuItem.
2. В новом меню в свойстве ShortCut=Shift+7
3. Для нового меню в инспекторе объектов для обработчика OnClick выбираем обработчик нужной кнопки.
4. Если не хотим, чтобы данное меню было видно, делаем для данного меню Visible=False
5. Пользуемся.
Chernobyl
Или удаляем из Form.menu надпись MainMenu1 если меню совсем не нужно
Vadik(R)
Это все хорошо, а можно ли это как-то сделать, чтобы амперсанд на кнопке был подчеркнутым?
Vadik(R)
В каком языке программирования можно подчеркнуть амперсанд?
И вообще, кто в этом виноват: разработчики Delphi или компания MicroSoft? Из-за кого из них я не могу подчеркнуть амперсанд?
sax_ol
Предлагаю набить физиономию БГ, кто за? smile.gif
Vadik(R)
Да я это специально написал, темку уже надо бы в юмор перенести.
П. С. А кто такие БГ?

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

Он же еще виноват, что когда я гуляю по вашему форуму и открываю много страниц во вкладках, то мой браузер виснет sad.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.