![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание кнопки программно
Mariya © (2007-10-02 15:27:00)Подскажите мне, пожалуйста, как создать динамически визуальный компонент (кнопку) на форме в Delphi.
korneley (2007-10-04 22:12:00) [1]
> если губка, то тогда уж бадяга = Spongilla lacustris.
Ok, экселенц
Amoeba (2007-10-04 19:36:00) [2]
> эта бодяга (не губка)
если губка, то тогда уж б адяга = Spongilla lacustris.
Mariya (2007-10-04 14:48:00) [3]Thank you!
Anatoly Podgoretsky (2007-10-04 14:45:00) [4]> Mariya (04.10.2007 14:43:00) [60]
MessageBox
clickmaker (2007-10-04 14:45:00) [5]MessageBox() на русской винде покажет Да и Нет
Mariya (2007-10-04 14:43:00) [6]Как в
if MessageDlg('Выйти?',mtConfirmation,[mbYes,mbNo],0)=mrYes then.....
написать, чтобы вместо Yes и No было ДА и НЕТ?
Mariya (2007-10-04 13:48:00) [7]
> Мария, ты издеваешься?
НЕТ! Уже все получилось, Спасибо всем ОГРОМНОЕ!!!
Palladin (2007-10-04 13:08:00) [8]Напишите Mariya кто нибудь программу...
clickmaker (2007-10-04 12:59:00) [9]Мария, ты издеваешься?
см [2]
Mariya (2007-10-04 12:54:00) [10]А Как?
clickmaker (2007-10-04 12:50:00) [11]MenuClickEvent это обработчик
его надо написать
Mariya (2007-10-04 12:44:00) [12]
> TempMenuItem := TMenuItem.Create(MainMenu);
> TempMenuItem.Caption := 'Мой пункт';
> TempMenuItem.OnClick := MenuClickEvent; // <— Клик
> {Добавление созданого пункта в меню.}
> MainMenu.Items[I].Add(TempMenuItem);
Выдает ошибки. Неизвестно MenuClickEvent и OnClick
Kolan (2007-10-04 09:43:00) [13]> Ой, спасибо, но не думала, что так сложно! Буду пробовать
Можно все сильно упростить это кусок из проекта. Тебе достаточно:
TempMenuItem := TMenuItem.Create(MainMenu);
TempMenuItem.Caption := 'Мой пункт';
TempMenuItem.OnClick := MenuClickEvent; //
Mariya (2007-10-04 09:34:00) [14]Ой, спасибо, но не думала, что так сложно! Буду пробовать...
Kolan (2007-10-04 09:27:00) [15]> по подобию боттона
Где-то так:
function TMenuInsertColleague.AddMenuItem(MainMenu: TMainMenu;
MenuData: TMenuItemData): Boolean;
var
I: Integer;
TempMenuItem: TMenuItem;
begin
Result := False;
if Assigned(MenuData) and Assigned(MainMenu) then
begin
for I := 0 to MainMenu.Items.Count 1 do
begin
{Ищем куда вставить пункт. MenuData.Section, например может быть «Файл» или «Правка». То есть пункт «верхнего уровня»}
if MainMenu.Items[I].Caption = MenuData.Section then
begin
{Собссно создание пункта}
TempMenuItem := TMenuItem.Create(MainMenu);
TempMenuItem.Caption := MenuData.Caption;
TempMenuItem.ImageIndex := MenuData.ImageIndex;
TempMenuItem.Tag := Integer(MenuData.CommandClass);
TempMenuItem.OnClick := MenuClickEvent;
{Добавление созданого пункта в меню.}
MainMenu.Items[I].Add(TempMenuItem);
Result := True;
{Выход}
Exit;
end;
end;
{Если «верхний» пункт меню не найден(не вышли в Exit), то он создаётся.}
TempMenuItem := TMenuItem.Create(MainMenu);
TempMenuItem.Caption := MenuData.Section;
MainMenu.Items.Add(TempMenuItem);
{Рекурсивно вызывается создание пункта.}
Result := AddMenuItem(MainMenu, MenuData);
end;
end;
TMenuItemData тебе не нужен. Там хронятся строки типа «имя пункта» меню итд
Но для ясности даю и его:
TMenuItemData = class
strict private
FSection: string;
FCaption: string;
FCommandClass: TCustomCommandClass;
FImageIndex: Integer;
public
constructor Create(Section: string; Caption: string;
CommandClass: TCustomCommandClass; ImageIndex: Integer = 1);
property Section: string read FSection;
property Caption: string read FCaption;
property CommandClass: TCustomCommandClass read FCommandClass;
property ImageIndex: Integer read FImageIndex;
end;
Mariya (2007-10-04 09:14:00) [16]Подскажите, plz, как создать программно меню, по подобию боттона не получается.
engine (2007-10-04 09:06:00) [17]> [48] Mariya (04.10.07 08:33)
Это выдержка из help'а к функции ReadInteger.
Mariya (2007-10-04 08:33:00) [18]Sorry? What does it mean???
engine (2007-10-04 08:12:00) [19]Default is an integer value to use if there is no key corresponding to Section or no data value corresponding to Ident.
Mariya (2007-10-04 07:43:00) [20]Уже утро, просыпайтесь! Помогите свеженачинающей! :)