Вниз
Скачать: CL | DM;

Как програмно нажать на кнопочку?   Найти похожие ветки 

 
Bolt   (2006-12-16 10:53) [0]

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


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

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

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

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


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


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

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


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

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


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

А как реализовать в 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;

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


 
ProgRAMmer Dimonych ©   (2006-12-17 21:04) [5]

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


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

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


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


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

ИЗВРАЩЕНИЕ.


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

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


 
tesseract ©   (2006-12-17 23:30) [9]


> Bolt   (17.12.06 23:22) [8]


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


>  MessageForm:=TForm.Create(Application);


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


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


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

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

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


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

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

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



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
15-1166081020
Roman_ln
2006-12-14 10:23
2007.01.07
не подскажите в реестре в какой папке уст. значки в панели задач


2-1166539857
niko
2006-12-19 17:50
2007.01.07
Assembler


2-1166099285
FIL-23
2006-12-14 15:28
2007.01.07
жадный цыкл


1-1163753342
Handle
2006-11-17 11:49
2007.01.07
PopupMenu


15-1166291297
Cyrax
2006-12-16 20:48
2007.01.07
ВКТ-7




   Наверх