Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-1116884166
grol
2005-05-24 01:36
2005.06.06
Работа с динамическими массивами!


9-1110485805
Игнатенков Станислав
2005-03-10 23:16
2005.06.06
Игровой цикл


4-1113215792
Ascan
2005-04-11 14:36
2005.06.06
Иконка в SysTray не создавая своих окон.


1-1116657594
seregka
2005-05-21 10:39
2005.06.06
Параграфы в Richedit


6-1111323428
nes
2005-03-20 15:57
2005.06.06
IdTCPClient и IdTCPServer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский