Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OnClick 
V
    Опции темы
namra
Дата 23.1.2009, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Создаю программно кнопки в run-time, как для каждой созданой кнопки создать событие OnClick, чтобы при нажатии на одну из созданных кнопок открывался нужный html-файл в моем webbrowser

PM MAIL   Вверх
Frees
Дата 23.1.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



примерно вот так
Код

procedure TForm2.Button1Click(Sender: TObject);
begin
  ShowMessage(TButton(Sender).Hint)
end;

procedure TForm2.FormCreate(Sender: TObject);
var
  I: Integer;
  s: String;
begin
  for I := 0 to 10 do
    with TButton.Create(self) do
    begin
      Parent := self;
      Top := i * 30;
      Left := 10;
      Width := 75;
      Height := 25;
      Caption := 'Кнопка '+IntToStr(i);
      Hint := 'http:\'+IntToStr(i);
      OnClick := Button1Click
    end;
end;



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Bose
Дата 23.1.2009, 17:46 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Цитата(namra @  23.1.2009,  14:12 Найти цитируемый пост)
Создаю программно кнопки в run-time, как для каждой созданой кнопки создать событие OnClick, чтобы при нажатии на одну из созданных кнопок открывался нужный html-файл в моем webbrowser

Молодец!  smile 
А в чём вопрос-то? =)
PM MAIL WWW Skype   Вверх
namra
Дата 23.1.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Frees спс, что помог не то что Bose
PM MAIL   Вверх
Bose
Дата 23.1.2009, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



namra, спасибо что заметил не то что спросил. smile  smile 
PM MAIL WWW Skype   Вверх
namra
Дата 23.1.2009, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Я создаю программно кнопки на форме нажатием по Button1, а после ее закрытия сохраняю их в ini файл, Проблема в том что при повторном открытии формы эти созданные кнопки уже не обрабатываю событие OnClick т.к. это событие описано в  procedure TForm1.Button1Click(Sender: TObject); не знаю как запихать это событие в FormCreate? Подскажите кто знает

Код

  const FormFileName='Save.ini';

constructor TForm1.Create(AOwner :TComponent); // Загружаю созданные кнопки из ini 
var
fname :string;
begin
 fname := FormFilename;
 if FileExists( fname ) then
 begin
  CreateNew(AOwner);
  ReadComponentResFile(fname, Self);
 end
  else
 inherited Create( AOwner );
end;

procedure TForm1.Button1Click(Sender: TObject);  // создаю кнопки
var
tmp_TOP:String;
int_Top:Integer;
f1,f2:TextFile;
begin

 AssignFile(f1,'dl.txt'); // в файле  dl.txt находится TOP которая перезаписывается после   
 Reset(f1);                  //  создания кнопки
 Readln(f1,tmp_TOP);
 int_Top:=StrToInt(tmp_TOP);
      with TButton.Create (Self) do
      begin
        Caption := Edit1.Text;
        Top     := int_Top;
        Left    := 70;
        Width   := 80;
        Height  := 25;
        OnClick := OwnButtonClick;   //????????????????????????????????????????
        Parent  := Self;
      end;
 CloseFile(f1);

 AssignFile(f2,'dl.txt'); // перезапись TOP
 Rewrite(f2);
 int_Top:=int_Top+30;
 tmp_TOP:=IntToStr(int_Top);
 Writeln(f2,tmp_TOP);
 CloseFile(f2);

end;

procedure TForm1.OwnButtonClick(Sender: TObject);
begin
WebBrowser1.Navigate(GetCurrentDir+'\'+TButton (Sender).Caption+'.html');
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); // записываю в ini 
begin                                                                                                                   // кнопки       
WriteComponentResFile(FormFileName, Self);
end;


Это сообщение отредактировал(а) namra - 23.1.2009, 21:47

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  1111.zip 518,33 Kb
PM MAIL   Вверх
THandle
Дата 23.1.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



namra, что то архив не скачивается... А просто попробовать такое:

Код


procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Click;
end;


???


PM   Вверх
namra
Дата 23.1.2009, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



THandle у меня скачивается через Opera нормально, а это не то

Цитата(THandle @  23.1.2009,  22:25 Найти цитируемый пост)
procedure TForm1.FormCreate(Sender: TObject);begin  Button1.Click;end;


Это сообщение отредактировал(а) namra - 23.1.2009, 23:08
PM MAIL   Вверх
namra
Дата 24.1.2009, 15:08 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



ну народ давайте идеи, надо очень

Это сообщение отредактировал(а) namra - 24.1.2009, 15:09
PM MAIL   Вверх
THandle
  Дата 24.1.2009, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



namra, у меня проект не компилиться из за того что Делфа без понятий что это за sSpeedButton и тд. smile 

Сделай с обычными контролами, либо жди когда появится  человек у которого установлены эти.
PM   Вверх
namra
Дата 24.1.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



THandle все изменил!

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  1.zip 518,23 Kb
PM MAIL   Вверх
Quartz
Дата 25.1.2009, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.6.2008

Репутация: 3
Всего: 4



namra, перенеси объявление OwnButtonClick в секцию published, поскольку тут без RTTI никуда.  smile 

ЗЫ: ИМХО, гораздо лучше (и для пользователя в том числе) сделать список файлов (ListBox, ListView etc) и сохранять его хотя бы в простой текстовый файл, чем заниматься извращениями с созданием кнопок, хранением формы во внешних ресурсах и т.д...  
PM MAIL   Вверх
namra
Дата 25.1.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 26.4.2007

Репутация: нет
Всего: нет



Quartz молодчик тебе  отменя 1 +
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.