Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Не получается зависимый перключатель на ToolButtons, HELP!   Найти похожие ветки 

 
lipskiy ©   (2004-03-18 00:06) [0]

Простая вроде вещь, но никак не настроить! Помогите!
На форме ToolBar, на нем две ToolButton.
Нужно настроить их зависимое переключение, т.е. с залипанием нажатой и отлипанием другой кнопки (поведение как у radiobuttons) при ОБЯЗАТЕЛЬНОМ условии, что Style у кнопок установлен в tbsDropDown. Именно при этом стиле и не настраивается!
Помогите! А то все мое красивое интерфейсное решение летит к чертям.


 
Defunct ©   (2004-03-18 00:50) [1]

Раз именно при этом стиле не настраивается, то выполняйте отлипание вручную.

в OnClick
ToolBtnX.Down := False;


 
lipskiy ©   (2004-03-18 21:15) [2]

Да если б все так просто было...
Проблема не в том, что не отлипает, а в том что не залипает!
Никак, ни автоматом ни вручную.


 
lipskiy ©   (2004-03-19 22:45) [3]

Господа, ХЕЛП МИ ПЛИЗ!!!!


 
Алхимик ©   (2004-03-19 22:55) [4]

Из справки
Tool buttons can remain Down only if Style is tbsCheck.


 
lipskiy ©   (2004-03-20 01:29) [5]

Да, но тем не менее если делать кнопке Down:= True; программно, НО НЕ ПО СОБЫТИЮ МЫШИ НА ЭТОЙ КНОПКЕ, а по любому другому действию, то тулбаттоны залипают как положено при любом стиле.
Может можно как-то это обойти?

Или может посоветуете, как по другому реализовать кнопки на стандартном тулбаре, чтобы из него выпадала менюшка и чтобы кнопка могла залипать. Главное, что менюшка не должна выпадать при любом клике на кнопке, а только когда действительно эта менюшка нужна, кроме как двухсекционная кнопка я другого варианта не вижу, но она не залипает...

Интерфейсно это выглядит так.
Есть три взаимоисключающие режима работы программы. Режимы переключаются тремя кнопками на тулбаре. Каждый режим имеет свой параметр работы. Параметр задается пользователем из выпадающей из кнопки менюшки для данного режима, но задается он значительно реже, чем переключаются сами режимы. То есть юзер должен иметь возможность переключить режим как с, так и без выбора или изменения его параметра.


 
Defunct ©   (2004-03-20 02:04) [6]

> Или может посоветуете, как по другому реализовать кнопки на стандартном тулбаре, чтобы из него выпадала менюшка и чтобы кнопка могла залипать.

Использовать 2 кнопки, одна залипает, а вторая с прикрепленным PopupMenu


 
ЮЮ ©   (2004-03-20 06:40) [7]

> Или может посоветуете, как по другому реализовать кнопки на стандартном тулбаре, чтобы из него выпадала менюшка и чтобы кнопка могла залипать.

На в OnClick трех кнопок вставить строчку
 SetCorrectStyle(Sender),
а в OnPopupMenu соответствующих кнопок
 SetCorrectStyle(<соответствующая кнопка>),
то именно так всё и будет выглядеть, где

procedure TForm1.SetCorrectStyle(Sender: TObject);
begin
 SetStyle(ToolButton1, Sender);
 SetStyle(ToolButton2, Sender);
 SetStyle(ToolButton3, Sender);
end;

procedure TForm1.SetStyle(Selected: TToolButton; Clicked: TObject);
begin
 if Selected <> Clicked then begin
   Selected.Style := tbsCheck;
   Selected.Down := false;
 end
 else begin
   Selected.Style := tbsDropDown;
   Selected.Down := true;
   Selected.Style := tbsCheck;
 end;
end;


 
lipskiy ©   (2004-03-20 09:20) [8]

Спасибо, вроде что-то получается похожее на то что надо, хотя не совсем. Поковыряю еще.



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
1-1080018399
Pr0ger
2004-03-23 08:06
2004.04.11
List Box


1-1082678989
Бегун
2004-04-23 04:09
2004.04.11
TListBox


4-1079462693
Александр Григоренко
2004-03-16 21:44
2004.04.11
Выравнивание в ComboBox при помощи API


3-1081431044
GIL
2004-04-08 17:30
2004.04.11
добавление записи с блобовыми полями через SQL


3-1081845149
Dynamit
2004-04-13 12:32
2004.04.11
Проблема загрузки данных из файла в компонент ClientDataSet





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский