Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание кнопки программно


Страницы:   1 2 3 4

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]

Уже утро, просыпайтесь! Помогите свеженачинающей! :)


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо