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

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

Как програмно нажать на кнопочку? [D7]


Bolt ©   (2006-12-16 10:53:00) 

Скажите пожалста, если кто знает.
Я программно описал форму и кнопку на ней. Теперь незнаю как при нажатии на кнопку (которую создал программно) выполнить какоенибудь действие, например вывести сообщение....
Спасибо!


VadimSpb   (2006-12-17 23:42:00) [1]


> Программа разработанна в СТИЛЬНОМ интерфейсе, если пользоваться
> стандартными Messaga-ми вся красота теряеться.

Супер ИЗВРАЩЕНИЕ. Что мешает сделать свои мессаги и все что надо??? Следует из отсутствия знаний и опыта. Как насчет отладки dll? ;-))

> Будете переписывать вечно exe-к?


И не надо ничего переписывать :-))))

> Вывод, ИЗВРАЩЕНИЕ - все выше высказавшиеся фразой ИЗВРАЩЕНИЕ

Удачи в ИЗВРАЩЕНИЯХ ;-))))))


tesseract   (2006-12-17 23:30:00) [2]


> Bolt   (17.12.06 23:22) [8]


Поиском по форуму пройдись на предмет "Форма в DLL". Моментально возникнет желание перериовать проект хотя бы на com/ole.


>  MessageForm:=TForm.Create(Application);


А Application откуда в эту функцию попадает?


Bolt   (2006-12-17 23:22:00) [3]

Спасибо за ваше мнениние...
Вот например ситуация....Программа разработанна в СТИЛЬНОМ интерфейсе, если пользоваться стандартными Messaga-ми вся красота теряеться. Далее, в зависимости от dll меняеться интерфейс, или скинн...Далее, легко урезать функции программы, заменив dll, или наделить....Будете переписывать вечно exe-к? Вывод, ИЗВРАЩЕНИЕ - все выше высказавшиеся фразой ИЗВРАЩЕНИЕ


VadimSpb   (2006-12-17 23:14:00) [4]


> А по этому к проге вешаю свою DLL в которой размещаю все
> необходимые функции, процедуры, ресурсы и системный формы

ИЗВРАЩЕНИЕ.


Bolt   (2006-12-17 21:09:00) [5]

Ну как сказать! Дело в том что, я пишу программу, и думаю что пользоваться стандартным Message-м не очень красиво, хочу что бы Message был такова же стиля как и форма, с Rx-выми кнопочками и так далее...
А по этому к проге вешаю свою DLL в которой размещаю все необходимые функции, процедуры, ресурсы и системный формы


ProgRAMmer Dimonych   (2006-12-17 21:04:00) [6]

Боюсь даже спрашивать, зачем нужно такое извращение (в смысле через DLL)...


Bolt   (2006-12-17 18:29:00) [7]

А как реализовать в DLL?
Я пишу так

function ShowMyMessage(Caption:PChar;Msg:PChar):Boolean;StdCall;
var
 MessageForm : TForm;
 BtnYes,BtnNo:TRxSpeedButton;
 MsgLabel:TLabel;
 
  procedure BtnNoClick(Sender: TObject);
   begin
   MessageForm.Close;//Процедура которая будет выполняться при нажатии на кнопку "НЕТ"
   end;

begin
 MessageForm:=TForm.Create(Application);
 MsgLabel:=TLabel.Create(MessageForm);

 MsgLabel.Parent:=MessageForm;
 MsgLabel.Top:=FormPic.Top+Round(FormPic.Height/2);MsgLabel.Left:=FormPic.Left+FormPic.Width+Otstup;
 MsgLabel.Caption:=StrPas(Msg);

 MessageForm.Caption:=StrPas(Caption);
 MessageForm.Position:=poScreenCenter;
 
...
 BtnNo:=TRxSpeedButton.Create(MessageForm);
 BtnNo.Parent:=MessageForm;
 BtnNo.OnClick:=BtnNoClick;// Присваиваю ПРОЦЕДУРЫ события ONCLICK кнопки (ВЫДАЕТ ОШИБКУ)
 BtnNo.Flat:=True;BtnNo.Transparent:=True;
 BtnNo.Width:=105;BtnNo.Height:=33;
 BtnNo.Width:=105;BtnNo.Height:=33;
...
 MessageForm.ShowModal;
end;

Но НЕ РАБОТАЕТ, что то не так да?


>>DEATH<<   (2006-12-16 11:16:00) [8]

нажми два раза на кнопку и пиши то что должно произойти


>>DEATH<<   (2006-12-16 11:16:00) [9]

Удалено модератором


Savek   (2006-12-16 11:15:00) [10]

После создания кнопки надо присвоить ей обработчик

private
procedure MyClick(sender : TObject);
...
...

Button1:=TButton.Create(Self);
...
Button1.OnClick:=MyClick;


А в процедуре MyClick описываешь желаемое действие


Наверх

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