![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Создаётся checkbox на панели
Код:
begin Panel := TPanel.Create(Self); Panel.Parent := Form1; Panel.Left := 20; Panel.Top := 20; Check := TCheckBox.Create(Self); Check.Parent := Panel; Check.Left := 5; Check.Top := 5; Check.Caption := 'RunFat'; end; Как сделать,чтобы при нажатии на checkbox на нём не создавался фокус? ![]() Последний раз редактировалось Admin, 14.03.2011 в 15:51. |
|
#2
|
||||
|
||||
|
Если достаточно того, чтоб CheckBox был без фокуса, можно его событии OnEnter прописать <TForm>.ActiveControl := nil;, если же надо, чтоб фокус оставался на предыдущем контроле, то тут можно "получить" предыдущий активный контрол и в событии OnEnter CheckBox-а прописать вместо nil прошлый контрол.
Ну и "убить" TabStop (=false) |
|
#3
|
|||
|
|||
|
а как прописать <TForm>.ActiveControl := nil;,?.т.е куда?Можно примерчик...
Последний раз редактировалось txforce, 14.03.2011 в 16:45. |
|
#4
|
||||
|
||||
|
заместо <TForm> класс твоей формы. Т.о.: Form1.ActiveControl := nil;
|
|
#5
|
|||
|
|||
|
Цитата:
Check := TCheckBox.Create(Self); Check.Parent := Panel; Check.Left := 5; Check.Top := 5; Check.Caption := 'RunFat'; ? |
|
#6
|
||||
|
||||
|
событие OnChange.
|
|
#7
|
|||
|
|||
|
Код:
............... procedure Change(Sender: TObject); ........... procedure TForm1.Change(Sender: TObject); begin Form1.ActiveControl := nil; end; ......... begin Check := TCheckBox.Create(Self); Check.Parent := Panel; Check.Left := 5; Check.Top := 5; Check.Caption := 'RunFat'; Check.OnClick = Change; end; Последний раз редактировалось Assistant, 14.03.2011 в 18:04. |
|
#8
|
|||
|
|||
|
неполучается так
|
|
#9
|
|||
|
|||
|
не может этого быть
|
|
#10
|
|||
|
|||
|
серьёзно невыходит(((((получается так, что не могу поставить галочку...
Последний раз редактировалось txforce, 14.03.2011 в 18:04. |
|
#11
|
|||
|
|||
|
поправил код, забыл что у TCheckBox нет события OnChange, заменил на OnClick
|
|
#12
|
||||
|
||||
|
Цитата:
Событие возникает при "входе" в контрол... будь то TAB или щелчек мыши ![]() |
|
#13
|
|||
|
|||
|
Цитата:
может пара строчек кода наставит на путь истинный? у меня несколько checkbox"ов... |
|
#14
|
|||
|
|||
|
от дурная голова, заработался на PHP совсем за 2 недели
|
|
#15
|
||||
|
||||
|
Должен признать свою неправоту. Как вфыяснилось при написании тест-программы, первым срабатывает OnEnter, а потом уже OnClick - если в OnEnter делать Form.ActiveControl := nil, то у данного чекбокса не срабатывает OnClick и соответственно состояние флажка не меняется
Ну а если "занулять" активный контролщ в OnClick, то очертания фокуса все-равно проскакивают и режут глаз ![]() Надо поразмышлять. Извиняйте ![]() |