powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получение событий от неактивного компонента
6 сообщений из 6, страница 1 из 1
Получение событий от неактивного компонента
    #32293609
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли такое?
Допустим у грида Enabled=False (обработка событий при этом от него конечно же отключается). А при клике на нем нужно кое-что сделать. ...Например сказать пользователю, что ... мол это дело не активно и тыкать сюды нет необходимости... :)
Это не прикол. Просто юзвери "ругаются", что мол у тебя программа не работает! Мол - тыкаю, а ничего не происходит

В общем, как поймать клик на неактивном контроле?
Спасибо
...
Рейтинг: 0 / 0
Получение событий от неактивного компонента
    #32293661
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Провел эксперимент:
Положил на форму Button1, Button1.Enabled сделал false.
У формы сделал:
Код: plaintext
1.
2.
3.
procedure TForm1.FormClick(Sender: TObject);
begin
     ShowMessage('Sender = '+(Sender as TComponent).Name);
end;

Так вот если кликать на недоступный Button1 возникает событие Form1Click.
Пишет :
Sender = Form1
Возможно это тебе поможет.
...
Рейтинг: 0 / 0
Получение событий от неактивного компонента
    #32293664
Фотография Антон Ковалев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё нельзя просто DataSource вырубить, а грид оставить?
...
Рейтинг: 0 / 0
Получение событий от неактивного компонента
    #32295537
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> А чё нельзя просто DataSource вырубить, а грид оставить?

Нет, нельзя. Если его отрубить - очистится грид. А мне надо, чтоб в нем показывалось то, что было (только по ячейкам скакать нельзя) - информативность чтоб от него была.

>>Так вот если кликать на недоступный Button1 возникает событие Form1Click.
Каким образом тогда отследить, находится ли курсор при клике над гридом?
...
Рейтинг: 0 / 0
Получение событий от неактивного компонента
    #32295542
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что нельзя при клике и при другой возне с гридом
делать так

DBGrid1->DataSource->DataSet->RecNo = 1; ???

...
Рейтинг: 0 / 0
Получение событий от неактивного компонента
    #32295609
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даниил писал:Каким образом тогда отследить, находится ли курсор при клике над гридом?
Если есть OnClick значит есть и OnMouseDown, а там есть X и Y.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var p:TPoint;
    g:TGridCoord;
begin
     p.X := X;
     p.Y := Y;
     p := Form1.ClientToScreen(p);
     p := DBGrid1.ScreenToClient(p);
     g := DBGrid1.MouseCoord(p.X,p.Y);
     ShowMessage(IntToStr(g.X)+' '+IntToStr(g.Y)+# 13 +IntToStr(p.X)+' '+IntToStr(p.Y)+# 13 +IntToStr(DBGrid1.Width)+' '+IntToStr(DBGrid1.Height));
end;


Попробуй этот код, он должен навести тебя на нужные мысли.

---------------------------
Cauchy connected
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получение событий от неактивного компонента
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]