![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TCheckBox - как програмно поменять Checked, чтобы не произошло ..
agrig © (2002-04-21 19:43:00)TCheckBox - как програмно поменять Checked, чтобы не произошло OnClick?
kull (2002-04-23 10:57:00) [1]>if CheckBox1.Focused then // по нему кликнули
>else //это программное изменение
А если он в фокусе и мы программно меняем?
Song (2002-04-23 08:49:00) [2]Интересно, а Ord(True)это 1??? :)))))
SoftOne © (22.04.02 01:07) Хороший способ. Сам про него забыл.
agrig (2002-04-23 08:45:00) [3]я сам завел глобальную переменную и проверяю ее значение в OnClick но ето конечно ерунда...
Billy (2002-04-22 03:02:00) [4]У меня тоже была такая трабла. Я ее решил не очень красиво (на мой взгляд) но зато работает как часы. Идея в том, что при клике этот CheckBox становится Focused. Таким образом:
if CheckBox1.Focused then // по нему кликнули
else //это программное изменение
SoftOne (2002-04-22 01:07:00) [5]Можно и так:
CheckBox1.Perform(BM_SETCHECK,Ord(True),0); - Checked
CheckBox1.Perform(BM_SETCHECK,Ord(False),0); - Unchecked
kull (2002-04-21 21:57:00) [6]Хотя лучше:
var
E: TNotifyEvent;
..............
E := CheckBox1.OnClick;
CheckBox1.OnClick := nil;
CheckBox1.Checked := True;
CheckBox1.OnClick := E;
kull (2002-04-21 21:48:00) [7]Ну можно типа так:
CheckBox1.OnClick := nil;
CheckBox1.Checked := True;
CheckBox1.OnClick := CheckBox1Click;
Song (2002-04-21 20:02:00) [8]Никак.