Вниз
Скачать: CL | DM;

Не получается зависимый перключатель на 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.039 c
14-1079620833
Nikolay M.
2004-03-18 17:40
2004.04.11
Кто сексуальнее, финансист или программист?


3-1082016968
BAYES
2004-04-15 12:16
2004.04.11
select * from prod order by no


14-1081821425
Думкин
2004-04-13 05:57
2004.04.11
С днем рождения! 13 апреля.


7-1080035858
Sheng
2004-03-23 12:57
2004.04.11
Всё тот-же COM-порт


9-1065171136
Zergling
2003-10-03 12:52
2004.04.11
DerectDraw - SetPalette




   Наверх