Форум: "Начинающим";
Текущий архив: 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 — тебе не нужен. Там хронятся строки типа «имя пункта» меню итд…
Но для ясности даю и его: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]> Ой, спасибо, но не думала, что так сложно! Буду пробовать…
Можно все сильно упростить — это кусок из проекта. Тебе достаточно:TempMenuItem := TMenuItem.Create(MainMenu);
TempMenuItem.Caption := "Мой пункт";
TempMenuItem.OnClick := MenuClickEvent; // <— Клик
{Добавление созданого пункта в меню.}
MainMenu.Items[I].Add(TempMenuItem);
Где:
MainMenu.Items[I] — это пункт верхнего уровня например «Файл
»
← →
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