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

Вниз

OnClick для Edit’а, если Enabled := False   Найти похожие ветки 

 
Dr. Genius   (2006-09-26 09:42) [0]

Здравствуйте!

Событие OnClick для Edit’а не срабатывает, если св-во Enabled Edit’а установлено в False. Можно ли это исправить?


 
Megabyte ©   (2006-09-26 09:46) [1]

А зачем?


 
Сергей М. ©   (2006-09-26 09:46) [2]


> Можно ли это исправить?


Нельзя.
А зачем вообще это "исправлять" ?
Это же абсолютно нормальная логика - "запрещенный" контрол не должен и не может получить фокус ввода..


 
ЮЮ ©   (2006-09-26 10:10) [3]

Можно. Обработав OnClick parenta.

type
 TControlAccess = class(TControl);

procedure TForm1.Edit1Click(Sender: TObject);
begin
 TEdit(Sender).Tag := TEdit(Sender).Tag + 1;
 Caption := "OnClick " + IntToStr(TEdit(Sender).Tag);
end;

procedure TForm1.FormClick(Sender: TObject);
var
 c: TControl;
 p: TPoint;
begin
 p := Mouse.CursorPos;
 p := ScreenToClient(p);
 c := ControlAtPos(p, true, true);
 if (c <> nil) then
 if not c.Enabled and Assigned(TControlAccess(c).OnClick) then
   TControlAccess(c).Click;
end;

Вопрос, зачем вообще у TEdita обрабатывать OnClick, пусть даже и у доступного



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

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

Наверх




Память: 0.47 MB
Время: 0.06 c
2-1159557331
Мурзилка
2006-09-29 23:15
2006.10.15
вместо русского появляются одни знаки ????????????????


2-1159532807
Dmitry_177
2006-09-29 16:26
2006.10.15
Вопрос по сообщениям


15-1158816466
Ega23
2006-09-21 09:27
2006.10.15
С Днём рождения! 21 сентября


2-1159119975
ZiTrAX
2006-09-24 21:46
2006.10.15
Минимальный размер программы


5-1141101752
FunkyByte
2006-02-28 07:42
2006.10.15
Прерывание работы конструктора