Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.20;
Скачать: CL | DM;

Вниз

Сообщение кнопке. Подскажите пожалуйста.   Найти похожие ветки 

 
Константин   (2009-07-16 17:21) [0]

Есть две формы. Необходимо запустить на исполнение код в первой форме из второй. В первой форме код привязан к нажатию кнопки. Переписывать весь код кнопки и согласовывать его на кнопке второй формы очень накладно. Можно ли со второй формы послать сообщение кнопке первой формы, эквивалентное ее нажатию? Как это сделать? Какой есть еще механизм "неконтактного" нажатия кнопки?


 
Palladin ©   (2009-07-16 17:35) [1]

Казалось бы при чем здесь WinAPI ? Просто назначь событие.


 
Tneduts ©   (2009-07-16 18:10) [2]


> Есть две формы.


Form1 и Form2


> В первой форме код привязан к нажатию кнопки.

procedure TForm1.BtnClick(Sender: TObject);
//----------------------------------------
код
//----------------------------------------


> Можно ли со второй формы послать сообщение кнопке первой
> формы, эквивалентное ее нажатию? Как это сделать? Какой
> есть еще механизм "неконтактного" нажатия кнопки?


В Form2 В месте где вы хотите вызвать код из Form1

Form1.BtnClick(Sender: Self);

Это тривиальный пример, но есть нюансы...


 
BorNent   (2009-07-16 18:49) [3]

Если известен handle кнопки, то sendMessage + WM_LBUTTONUP


 
Константин   (2009-07-16 20:51) [4]

>Form1.BtnClick(Sender: Self);< Форма2 является дочерней Формы1, так не получается.
>handle кнопки, то sendMessage + WM_LBUTTONUP<  
А можно поподробнее... Я написал:
H:=FindWindow("TFMeas16","Выполнение измерения");
if H<>0 then SendMessage(H,BN_CLICKED,0,0);
Закрывать форму TFMeas16 и делать остальные операции могу, а как обратиться именно к кнопке?


 
{RASkov} ©   (2009-07-16 23:21) [5]

> [4] Константин   (16.07.09 20:51)

Не нужно никаких сообщений. Внимательно смотри [2]


> Форма2 является дочерней Формы1, так не получается.

что значит дочерней? Да какая собсно разница.... если есть ссылка(переменная) на форму, то используй ее


 
{RASkov} ©   (2009-07-16 23:22) [6]

+ посмотри на методы TButton. Среди которых найдешь метод Click; как раз что нужно...


 
Плохиш ©   (2009-07-16 23:44) [7]

Хм, как интересно, люди в собственной программе разобраться не могут...


 
Германн ©   (2009-07-17 01:40) [8]


> Плохиш ©   (16.07.09 23:44) [7]
>
> Хм, как интересно, люди в собственной программе разобраться
> не могут...

Ну если "собственный" код надыбан из И-нета, то ничего удивительного. Даже если действительно обе формы создал автор. :)


 
Константин   (2009-07-17 17:35) [9]

Ндя, чего-то я тормознул.
FMeas16.OkBtnClick(Sender); и все заработало. В любом случае спасибо всем, кто помог.



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

Текущий архив: 2009.09.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
3-1227085610
pavel_guzhanov
2008-11-19 12:06
2009.09.20
Странно зависает запрос.


2-1247663350
Mishenka
2009-07-15 17:09
2009.09.20
Источник данных при соединении Delphi и Oracle черезm ADO........


15-1248204795
DVM
2009-07-21 23:33
2009.09.20
Расщепление байта на биты


15-1248171055
pasha_golub
2009-07-21 14:10
2009.09.20
Легенький XML parser совместимый с Д2009 нужен


2-1248097068
Константин
2009-07-20 17:37
2009.09.20
Проблема синхронизации. Подскажите.