Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2022, 17:17   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 603
По умолчанию Click и MouseDown

Код:
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
   ComboBox1.Visible:=not(CheckBox1.Checked);
end;
Работает нормально

Код:
procedure TForm2.CheckBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   ComboBox1.Visible:=not(CheckBox1.Checked);
end;
Делает действие противоположное нужному

Мне нужно сделать так, чтобы обрабатывалось еще и нажатие правой кнопкой. По той причине понадобилось заменять Click на MouseDown
Kronos913 вне форума Ответить с цитированием
Старый 27.07.2022, 18:52   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

А вы одновременно определили и OnClick и OnMouseDown?
macomics вне форума Ответить с цитированием
Старый 27.07.2022, 23:31   #3
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 603
По умолчанию

По отдельности
Kronos913 вне форума Ответить с цитированием
Старый 28.07.2022, 00:17   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
По отдельности
Я код спрашивал. Неизвестно что еще у вас происходит на форме. Значение not (CheckBox1.Checked) определяется однозначно. Но если вы где-то вызываете CheckBox1.Checked := not CheckBox1.Checked, тогда это приводит к генерации дополнительных сообщений (вызов обработчиков на уровне классов, WM_MOUSEDOWN при этом вы не увидите).

ADD: У вас реакция на установку/сброс состояния CheckBox выполняется по OnClick, а оно обрабатывается после OnMouseDown. Поэтому кажется, что работает на оборот - вы просто считываете состояние CheckBox и инвертируете значение до его обновления.

Последний раз редактировалось macomics; 28.07.2022 в 00:32.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Button.Click и Label.Click Hinc Общие вопросы Delphi 7 17.05.2016 21:14
MouseDown Иваннннн1 Lazarus, Free Pascal, CodeTyphon 8 08.09.2015 14:43
MouseDown vs DblClick Evil-Racer Общие вопросы Delphi 3 09.06.2014 19:44
TWebBrowser блокировка MouseDown Crystallon Общие вопросы Delphi 2 30.04.2011 02:25
MouseDown: обращение к правой кнопке мыши ZhekON Общие вопросы Delphi 2 11.05.2007 19:17