Вниз
Скачать: CL | DM;

TCheckBox - как програмно поменять Checked, чтобы не произошло ..   Найти похожие ветки 

← →
agrig   (2002-04-21 19:43) [0]

TCheckBox - как програмно поменять Checked, чтобы не произошло OnClick?


← →
Song ©   (2002-04-21 20:02) [1]

Никак.


← →
kull ©   (2002-04-21 21:48) [2]

Ну можно типа так:


CheckBox1.OnClick := nil;
CheckBox1.Checked := True;
CheckBox1.OnClick := CheckBox1Click;


← →
kull ©   (2002-04-21 21:57) [3]

Хотя лучше:


var
E: TNotifyEvent;
..............

E := CheckBox1.OnClick;
CheckBox1.OnClick := nil;
CheckBox1.Checked := True;
CheckBox1.OnClick := E;


← →
SoftOne ©   (2002-04-22 01:07) [4]

Можно и так:
CheckBox1.Perform(BM_SETCHECK,Ord(True),0); - Checked
CheckBox1.Perform(BM_SETCHECK,Ord(False),0); - Unchecked


← →
Billy ©   (2002-04-22 03:02) [5]

У меня тоже была такая трабла. Я ее решил не очень красиво (на мой взгляд) но зато работает как часы. Идея в том, что при клике этот CheckBox становится Focused. Таким образом:

if CheckBox1.Focused then // по нему кликнули
else //это программное изменение


← →
agrig   (2002-04-23 08:45) [6]

я сам завел глобальную переменную и проверяю ее значение в OnClick но ето конечно ерунда...


← →
Song ©   (2002-04-23 08:49) [7]

Интересно, а Ord(True)это 1??? :)))))
SoftOne © (22.04.02 01:07) Хороший способ. Сам про него забыл.


← →
kull ©   (2002-04-23 10:57) [8]

>if CheckBox1.Focused then // по нему кликнули
>else //это программное изменение

А если он в фокусе и мы программно меняем?



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
4-17737
Витамин
2002-03-02 18:25
2002.05.06
Что здесь неправильно?


1-17611
VJar
2002-04-22 19:31
2002.05.06
Куда


4-17730
TCP
2002-03-01 18:49
2002.05.06
Треей и ДАта


1-17642
Termik
2002-04-23 09:58
2002.05.06
Как заставить Делфи выполнить мат. выражение ?


7-17707
Костя
2001-11-16 22:29
2002.05.06
Мониторинг COM порта




   Наверх