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

В общем, как поймать клик на неактивном контроле?
Спасибо
...
Рейтинг: 0 / 0
15.10.2003, 10:10
    #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
15.10.2003, 10:12
    #32293664
Антон Ковалев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение событий от неактивного компонента
А чё нельзя просто DataSource вырубить, а грид оставить?
...
Рейтинг: 0 / 0
16.10.2003, 15:47
    #32295537
Даниил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение событий от неактивного компонента
>> А чё нельзя просто DataSource вырубить, а грид оставить?

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

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

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

...
Рейтинг: 0 / 0
16.10.2003, 16:16
    #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
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получение событий от неактивного компонента / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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