Вниз
Скачать: 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.006 c
1-17643
СергейПд
2002-04-23 13:17
2002.05.06
Qreport и shapes


3-17467
viru$
2002-04-11 18:57
2002.05.06
Вопрос по клиент/сервер


4-17750
mikki
2002-03-03 12:28
2002.05.06
Послать сообщение от неактивного окна.


4-17743
BorisMor
2002-03-02 02:11
2002.05.06
хэндл консоли


1-17610
sssa
2002-04-22 19:10
2002.05.06
Как добавить свой курсор?




   Наверх