![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Игнорировать нажатие клавиш мыши для CheckBox [D7, WinXP]
Macho © (2005-10-03 04:56:00)Подскажите, пожалуйста, как отучить CheckBox реагировать на нажатие клавиль мыши.
Antonn (2005-10-04 12:55:00) [1]ANB © (04.10.05 10:51) [12]
- вот в обработке "чеканья" проверяешь наличие файла, если его нет, то ругаешься сообщением и выключаешь обратно (Checked := False). Какие проблемы ?
меня "уговаривают" что нужно ставить в enabled:=false. у меня никаких проблем. Если файла нет, CB остается пустым.
Все равно не очень хорошее решение - заставлять пользователя класть файл в нужную папку ручками.
это ему надо. И никто не заставляет, просто есть возможность скачать файл и положить в каталог для расширения возможностей. Программа и без этого файла нормально работает.
Плохиш © (04.10.05 11:09) [13]
Отвратительное решение - позволять пользователю нажимать туда, куда в данный момент нажимать нельзя, и после этого ещё и ругаться на него.
Нажимать можно, ничего плохого из это не выйдет. Даст понять, что поставить нельзя. Видимо низкий уровень телепата, никто не знает что за программа и какую несет функциональность, зато учат как правильно.
> Mbo сказал запрешать, вот и запрещайте!
уже бегу и прыгаю...
Плохиш (2005-10-04 11:09:00) [2]
> ANB © (04.10.05 10:51) [12]
Отвратительное решение - позволять пользователю нажимать туда, куда в данный момент нажимать нельзя, и после этого ещё и ругаться на него. Mboсказал запрешать, вот и запрещайте!
ANB (2005-10-04 10:51:00) [3]
> Antonn © (04.10.05 09:11) [11]
- вот в обработке "чеканья" проверяешь наличие файла, если его нет, то ругаешься сообщением и выключаешь обратно (Checked := False). Какие проблемы ? Все равно не очень хорошее решение - заставлять пользователя класть файл в нужную папку ручками.
Antonn (2005-10-04 09:11:00) [4]MBo © (04.10.05 6:53) [10]
файл помещается не из программы. Точнее: программка работает, пользователь скачивает файл и ложит в нужную директорию. В настройках программы ставит этот CB и все. Если файла нет, CB не будет "чекаться".
MBo (2005-10-04 06:53:00) [5]>Antonn © (04.10.05 03:37) [9]
Вот когда помещаешь файл, и разрешай CheckBox.
Antonn (2005-10-04 03:37:00) [6]MBo © (03.10.05 15:21) [8]
Он должен находиться в явно видимом запрещенном состоянии.
во время работы помещаю нужный файл. CB в enabled:=false, как мне поставить галку?
MBo (2005-10-03 15:21:00) [7]>он должен был оставать "ненажатым" все время
Он должен находиться в явно видимом запрещенном состоянии.
Antonn (2005-10-03 15:11:00) [8]сам сталкивался с подобным.
в программе есть CheckBox, который подключал файл. Если файла нет, он должен был оставать "ненажатым" все время.
y-soft (2005-10-03 14:48:00) [9]Ох уж эти "пользовательские" интерфейсы... Иной раз такого нагородят, что и не поймешь с ходу, как пользоваться :)
CheckBox с нестандртным поведением, особенно внешне неотличимый от родного Winows'кого скорее всего вызовет у пользователя раздражение: "вроде бы выглядит, как обычно, а на мышь/клавиатуру не реагирует; верно, программа глючит" :)
А так, пожалуйста: средств для кастомизации чекбокса много - и средствами Delphi, и средствами WinAPI (благо функциональность у него небогатая, нетрудно даже "с нуля" написать) , помнится даже Borland свой фирменный писал еще во времена BPW, до сих пор кое где используется через BWCC32.dll...
MBo (2005-10-03 14:27:00) [10]>он выглядит "бледновато" на фоне других элементов.
CheckBox - элемент управления, предназначен для пользовательского ввода.
Уж если появилось желание использовать CheckBox способом нетрадиционной ориентации- пусть юзер это видит, в стандартном UI недоступные к управлению элементы как раз обычно делают бледнее.
Если этот, если можно так сказать, "элемент управления" нужен только для индикации - нисего не мешает использовать DrawFrameControl
Antonn (2005-10-03 14:12:00) [11]y-soft © (03.10.05 11:04) [3]
Правда, смысл таких вывертов не очень понятен - существует же TCheckBox.Enabled, как верно отметил MBo ©...
он выглядит "бледновато" на фоне других элементов.
y-soft (2005-10-03 11:04:00) [12]>begin...end © (03.10.05 08:52) [1]
Сабклассинг?
Проще. Стиль окна не BS_AUTOCHECKBOX или BS_AUTO3STATE, а BS_CHECKBOX или BS_3STATE - тогда изменения состояния при клике мышью не будет происходить автоматически...
Правда, смысл таких вывертов не очень понятен - существует же TCheckBox.Enabled, как верно отметил MBo ©...
MBo (2005-10-03 08:57:00) [13]А зачем нужен такой CheckBox?
может, просто enabled в False?
begin...end (2005-10-03 08:52:00) [14]Сабклассинг?