Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Вниз

Создание кнопки программно   Найти похожие ветки 

 
Zeqfreed ©   (2007-10-03 18:39) [40]

> Dib@zol ©   (03.10.07 17:07) [38]

Ой, мамочки.


 
Dib@zol ©   (2007-10-03 18:45) [41]

Может и есть. Но я полный дуб в ВЦЛ, поэтому дело за вами.


 
korneley ©   (2007-10-03 18:57) [42]

Ну утомила уже эта бодяга (не губка)... пишешь метод типа:
TForm1.ButtonClick(Sender: TObject), в котором вызываешь, че-нить типа [30], создаешь кнопку, пусть это будет Button1, далее:
Button1.OnClick := ButtonClick; По нажатию Button1 все, что в теле ButtonClick исполнится... Алилуйя!


 
Юрий Зотов ©   (2007-10-03 21:46) [43]

> Dib@zol ©   (03.10.07 18:45) [41]

Тогда зачем давать начинающим советы уровня API? Вы понимаете, что такими советами Вы только их запутываете и ничего больше?


 
Dib@zol ©   (2007-10-03 22:22) [44]

> Юрий Зотов ©   (03.10.07 21:46)

Понимаю. И даже сам другим частенько об этом напоминаю. А сегодя вот вдруг накатило... Ну туплю сегодня, ну отосплюсь и всё пройдёт...


 
Mariya   (2007-10-04 07:30) [45]

Доброго нового дня! Это все получилось!

> Алилуйя!

Осталось почти последнее, что я упустила, а как программно задать размеры формы? На которой все это и рисуется. Я пишу так:

Form1.Caption:=Ini.ReadString("Form", "Cap", "Навигатор");
Form1.Height:=Ini.ReadInteger("Form", "Height", 500);
Form1.Width:=Ini.ReadInteger("Form", "Width", 700);
Игнорирует, не ставит по умолчанию 500 на 700.

А! Еще, насчет меню, само меню создала, а как вкладки прописать?


 
Mariya   (2007-10-04 07:43) [46]

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


 
engine ©   (2007-10-04 08:12) [47]

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 08:33) [48]

Sorry? What does it mean???


 
engine ©   (2007-10-04 09:06) [49]

> [48] Mariya   (04.10.07 08:33)

Это выдержка из help"а к функции ReadInteger.


 
Mariya   (2007-10-04 09:14) [50]

Подскажите, plz, как создать программно меню, по подобию боттона не получается.


 
Kolan ©   (2007-10-04 09:27) [51]

> по подобию боттона

Где-то так:

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 — тебе не нужен. Там хронятся строки типа «имя пункта» меню итд&#133

Но для ясности даю и его:

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:34) [52]

Ой, спасибо, но не думала, что так сложно! Буду пробовать...


 
Kolan ©   (2007-10-04 09:43) [53]

> Ой, спасибо, но не думала, что так сложно! Буду пробовать&#133

Можно все сильно упростить — это кусок из проекта. Тебе достаточно:

TempMenuItem := TMenuItem.Create(MainMenu);
      TempMenuItem.Caption := "Мой пункт";
      TempMenuItem.OnClick := MenuClickEvent; // <&#151; Клик
      {Добавление созданого пункта в меню.}
      MainMenu.Items[I].Add(TempMenuItem);


Где:
MainMenu.Items[I] &#151; это пункт верхнего уровня например &laquo;Файл
&raquo;


 
Mariya   (2007-10-04 12:44) [54]


> TempMenuItem := TMenuItem.Create(MainMenu);
>       TempMenuItem.Caption := "Мой пункт";
>       TempMenuItem.OnClick := MenuClickEvent; // <— Клик
>       {Добавление созданого пункта в меню.}
>       MainMenu.Items[I].Add(TempMenuItem);

Выдает ошибки. Неизвестно MenuClickEvent и OnClick


 
clickmaker ©   (2007-10-04 12:50) [55]

MenuClickEvent это обработчик
его надо написать


 
Mariya   (2007-10-04 12:54) [56]

А Как?


 
clickmaker ©   (2007-10-04 12:59) [57]

Мария, ты издеваешься?
см [2]


 
Palladin ©   (2007-10-04 13:08) [58]

Напишите Mariya кто нибудь программу...


 
Mariya   (2007-10-04 13:48) [59]


> Мария, ты издеваешься?

НЕТ! Уже все получилось, Спасибо всем ОГРОМНОЕ!!!


 
Mariya   (2007-10-04 14:43) [60]

Как в

if MessageDlg("Выйти?",mtConfirmation,[mbYes,mbNo],0)=mrYes then.....

написать, чтобы вместо Yes и No было ДА и НЕТ?


 
clickmaker ©   (2007-10-04 14:45) [61]

MessageBox() на русской винде покажет Да и Нет


 
Anatoly Podgoretsky ©   (2007-10-04 14:45) [62]

> Mariya  (04.10.2007 14:43:00)  [60]

MessageBox


 
Mariya   (2007-10-04 14:48) [63]

Thank you!


 
Amoeba ©   (2007-10-04 19:36) [64]


> эта бодяга (не губка)

если губка, то тогда уж бадяга = Spongilla lacustris.


 
korneley ©   (2007-10-04 22:12) [65]


> если губка, то тогда уж бадяга = Spongilla lacustris.
Ok, экселенц



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.57 MB
Время: 0.056 c
6-1172469159
Newfrost
2007-02-26 08:52
2007.10.28
TServerSocket в TService


3-1182263931
Tonich
2007-06-19 18:38
2007.10.28
Трансакция


11-1175206803
nester
2007-03-30 02:20
2007.10.28
БагРепорт: RegKeyGetValueNames съедает последнюю букву


2-1191593097
Vitek2
2007-10-05 18:04
2007.10.28
"Сохранить" и "Сохранить как..".


9-1161872789
GOS
2006-10-26 18:26
2007.10.28
GLScene DCE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский