Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.03.2011, 15:47
txforce txforce вне форума
Прохожий
 
Регистрация: 08.12.2009
Сообщения: 21
Репутация: 10
Вопрос CheckBox как убрать фокус?

Создаётся 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  
Старый 14.03.2011, 16:02
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Если достаточно того, чтоб CheckBox был без фокуса, можно его событии OnEnter прописать <TForm>.ActiveControl := nil;, если же надо, чтоб фокус оставался на предыдущем контроле, то тут можно "получить" предыдущий активный контрол и в событии OnEnter CheckBox-а прописать вместо nil прошлый контрол.
Ну и "убить" TabStop (=false)
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #3  
Старый 14.03.2011, 16:38
txforce txforce вне форума
Прохожий
 
Регистрация: 08.12.2009
Сообщения: 21
Репутация: 10
Вопрос ?

а как прописать <TForm>.ActiveControl := nil;,?.т.е куда?Можно примерчик...

Последний раз редактировалось txforce, 14.03.2011 в 16:45.
Ответить с цитированием
  #4  
Старый 14.03.2011, 17:12
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

заместо <TForm> класс твоей формы. Т.о.: Form1.ActiveControl := nil;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 14.03.2011, 17:30
txforce txforce вне форума
Прохожий
 
Регистрация: 08.12.2009
Сообщения: 21
Репутация: 10
Вопрос ?

Цитата:
Сообщение от M.A.D.M.A.N.
заместо <TForm> класс твоей формы. Т.о.: Form1.ActiveControl := nil;
Как это прописать применительно к
Check := TCheckBox.Create(Self);
Check.Parent := Panel;
Check.Left := 5;
Check.Top := 5;
Check.Caption := 'RunFat';
?
Ответить с цитированием
  #6  
Старый 14.03.2011, 17:34
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

событие OnChange.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 14.03.2011, 17:41
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 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  
Старый 14.03.2011, 17:47
txforce txforce вне форума
Прохожий
 
Регистрация: 08.12.2009
Сообщения: 21
Репутация: 10
Печаль

неполучается так
Ответить с цитированием
  #9  
Старый 14.03.2011, 17:48
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

не может этого быть
Ответить с цитированием
  #10  
Старый 14.03.2011, 17:53
txforce txforce вне форума
Прохожий
 
Регистрация: 08.12.2009
Сообщения: 21
Репутация: 10
По умолчанию

серьёзно невыходит(((((получается так, что не могу поставить галочку...

Последний раз редактировалось txforce, 14.03.2011 в 18:04.
Ответить с цитированием
  #11  
Старый 14.03.2011, 18:05
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

поправил код, забыл что у TCheckBox нет события OnChange, заменил на OnClick
Ответить с цитированием
  #12  
Старый 14.03.2011, 18:06
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Цитата:
Сообщение от Assistant
поправил код, забыл что у TCheckBox нет события OnChange, заменил на OnClick
Не то событие. Надо OnEnter. Я ж написал в своем ответе Событие возникает при "входе" в контрол... будь то TAB или щелчек мыши
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #13  
Старый 14.03.2011, 18:09
txforce txforce вне форума
Прохожий
 
Регистрация: 08.12.2009
Сообщения: 21
Репутация: 10
По умолчанию

Цитата:
Сообщение от dr. F.I.N.
Не то событие. Надо OnEnter. Я ж написал в своем ответе Событие возникает при "входе" в контрол... будь то TAB или щелчек мыши
чёт не могу представить реализацию может пара строчек кода наставит на путь истинный?у меня несколько checkbox"ов...
Ответить с цитированием
  #14  
Старый 14.03.2011, 18:10
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

от дурная голова, заработался на PHP совсем за 2 недели
Ответить с цитированием
  #15  
Старый 14.03.2011, 18:34
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Должен признать свою неправоту. Как вфыяснилось при написании тест-программы, первым срабатывает OnEnter, а потом уже OnClick - если в OnEnter делать Form.ActiveControl := nil, то у данного чекбокса не срабатывает OnClick и соответственно состояние флажка не меняется Ну а если "занулять" активный контролщ в OnClick, то очертания фокуса все-равно проскакивают и режут глаз

Надо поразмышлять. Извиняйте
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:51.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025