Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Помогите... Help...   Найти похожие ветки 

 
X-Guest...   (2002-11-14 21:56) [0]

Как отлчить нажатие в CheckListBox на само слово (кот. напротив галочки), и на саму галочку....???


 
Song ©   (2002-11-14 22:01) [1]

onClick/onClickCheck


 
X-Guest...   (2002-11-14 23:31) [2]

Не знаю сработает ли... Потому что у меня стоит процедура на onclick и ты куда не тыкай везде она всплывет...хоть отметь галочку, хоть убери...

Вообщем событие OnClick должно срабатывать тогда, когда я жму непосредственно на слово. А если на галочку то только изменить Checked, что он делает и без меня.
А у меня нет этого разраничения... Что мне делать?


 
apay ©   (2002-11-15 00:50) [3]

GetCursorPos, а потом проанализируй, где есть мышка, над галочкой аль нет.


 
Axis_of_Evil ©   (2002-11-15 08:55) [4]


var
WasChecked: Boolean;

procedure CheckListBox1.OnClick
if (WasChecked = (not CheckBox1.Checked)) => кликнули галочку

WasChecked := CheckBox1.Checked;



 
X-Guest...   (2002-11-15 21:43) [5]

в этом примере мы проверяем выделена она или нет галочкой...

[ ]Text1
[ ]Text2
[ ]Text3

если кликнули по "TextX" то одно событие
если кликнули по "[ ]" то ничего не делаем => оно само станет Checked "[X]"
Вот...
а у меня кликаешь на [] происходит и смена Checked и запускается процедура ItemClick...

ОНе ужели остается толоько рассматривать курсор над галочкой или нет???


 
Gun Expert   (2002-11-15 22:37) [6]


> Song © (14.11.02 22:01)
> onClick/onClickCheck


Мысль правильная, позволю себе ее несколько уточнить:
- если щелкаешь на галке то вызываются onClickCheck, а затем
также и onClick (!!!);
- если просто в списке - только onClick.
Я поступаю так:

var WasClickCheck:boolean; //был ли вызван ClickCheck?
...
//в конце процедуры OnClickCheck:
procedure Tfrm1.CheckListBoxClickCheck(Sender: TObject);
begin
...
WasClickCheck:=true;
end;
...
//в теле процедуры OnClick
procedure Tfrm1.CheckListBoxClick(Sender: TObject);
begin
if WasClickCheck=true then
begin //выйти из процедуры
WasWasClickCheck:=false; exit;
end;
//иначе - обработка OnClick
...
end;

Удачи.



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

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
14-93218
KSergey
2002-11-10 12:23
2002.11.28
Сезонность вопросов


3-92843
kombat
2002-11-12 15:54
2002.11.28
Открытие табличек только на чтение через ADO


1-92970
kofman
2002-11-15 23:08
2002.11.28
Как развернуть свое окно на весь экран если BorderStyle= bsNone?


4-93300
Pumpkin
2002-10-16 21:07
2002.11.28
Не дать программе снимать ScreenShot-ы


1-93100
Suprime
2002-11-17 12:37
2002.11.28
Pronumerovat stroki v ListBox e