Форум: "KOL";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
ВнизФиксированое полжение кнопки. Найти похожие ветки
← →
Ugrael © (2004-06-21 17:10) [0]Доброго времени суток.
Что то не найду,точнее нашел, но снова не пойму как сделать фиксированое нажатин кнопки ? У BitBtn нашел в option bboFixed. Но как пользоваться ...что то не доходит. спасибо.
← →
SPeller © (2004-06-21 23:55) [1]Можно использовать простой чекбокс, задав ему стиль BS_PUSHLIKE.
← →
Cardinal © (2004-06-28 13:32) [2]SpeedButton
← →
Ugrael © (2004-06-28 14:18) [3]Что то в KOL&MCK я не нашел SpeedButton.Может и искал плохо,конечно ... но упоминание нигде нет.
← →
Gandalf © (2004-06-30 19:49) [4]Нет ее - не родное это для API - а что для API не родное для KOL... Есть BitBtn - о это не то :) Я использую ToolBar - он и темы держит и картинки
← →
Vladimyr (2004-07-10 10:07) [5]
CheckBox1.Style := CheckBox1.Style or BS_PUSHLIKE
Какой изврат, а!.. %-]
Но работает, как это ни прикольно :)
← →
Gandalf © (2004-07-12 18:39) [6]Я собсвенно на вопрос про SpeedButton отвечал, про BS_PUSHLIKE - Speller не раз отвечал.
← →
ecm (2004-10-29 17:24) [7]Позволю себе вернуться снова к этой теме.
BS_PUSHLIKE - это здорово (минимум кода и функционально)
Но...
Иногда хочется добится такого же поведения именно от BitBtn.
(хотелось бы иметь еще и картинку на кнопке). Тем более, что
все необходимое в коде КОЛ вроде бы есть.
Правда мне пришлось немного подправить чтобы все стало на
свои места...
Предагаю внести следующие исправления в код
function WndProcBitBtn - пока только ПАС-версия
fc Kol.pas(доработанный) KOL.PAS(1.98)
Сравнение файлов Kol.pas и KOL.PAS.000.OLD
***** Kol.pas
DIS := Pointer( Msg.lParam );
IsDown := (DIS.itemState and ODS_SELECTED <> 0) or
((bboFixed in Self_.fBitBtnOptions) and Self_.fChecked);
IsDefault := DIS.itemState and ODS_FOCUS <> 0;
***** KOL.PAS.000.OLD
DIS := Pointer( Msg.lParam );
IsDown := DIS.itemState and ODS_SELECTED <> 0;
IsDefault := DIS.itemState and ODS_FOCUS <> 0;
*****
***** Kol.pas
G := 0;
if IsDown then
G := 1;
***** KOL.PAS.000.OLD
G := 0;
if IsDown and not(bboFixed in Self_.fBitBtnOptions)
or (bboFixed in Self_.fBitBtnOptions) and Self_.fChecked then
G := 1;
*****
Теперь при установке bboFixed кнопка будет правильно отрисовываться после клика и после установки Checked!
т.е. Оставаться в нажатом состоянии.
И еще одно замечание к зеркалу BitBtn-a:
Цитата из KOL.PAS -
Note: if You use bboFixed Style, use OnChange event instead of OnClick,
because <D Checked> state is changed immediately however OnClick occure
only when mouse or space key released (and can be not called at all if
mouse button is released out of BitBtn bounds).
Но в инспекторе объектов для BitBtn событие OnChange - отсутствует.. :)
Предлагаю учесть этит поправки в следующей версии КОЛ-МСК.
Все эти исправления я упаковал в UPD-файл
http://kolibdb.100free.com/kolmck198plus.zip
Или я что-то не понял в технологии использования BitBtn?
← →
Владимир Кладов (2004-10-29 18:25) [8]LikeSpeedButton в MCK гляньте - оно не только для Button, оно и для BitBtn, и для EditBox (вот!) подойдет.
← →
Владимир Кладов (2004-10-29 18:26) [9]А картинка на кнопку можно и на обычную кнопку положить. Правда, не проверял как оно и тект и картинка. Лучший вариант - положить панель без краев, а на нее Toolbar. С одной кнопкой. Изврат - но самый красивый вариант.
← →
ecm (2004-10-29 18:37) [10]LikeSpeedButton на "залипание" (bboFixed) BitBtn влияния не оказывает.
Тулбар - это хорошо и красиво но не всегда подходит...
Да и по-моему мои исправления код не увеличивают - а пользователь получает более осмысленное поведение.
И без этих исправлений механизм fChecked+bboFixed для
BitBtn-a ИМХО просто висит мертвым грузом.
← →
Владимир Кладов (2004-10-29 18:43) [11]ладно гляну, скачл. Но потом, версия все равно уже вышла.
← →
ecm (2004-10-29 18:45) [12]З.Ы. Это фикс исправляет только прорисовку БитБуттона в ситуации
когда он должен быть "постоянно утоплен" Checked = TRUE
← →
ecm (2004-10-29 22:25) [13]На всякий случай тоже для 1.99
http://kolibdb.100free.com/kolmck199BitBtn.zip
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.014 c