Определить вкладку под курсором
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        


12»»

Определить вкладку под курсором Expand / Collapse
Автор
Сообщение
15.08.2006 17:14


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.03.2008 10:38
Сообщ.: 193, Visits: 1 745
Привет всем.

Мне нужно вывести попуп меню при правом клике на вкладке tabstrip.
С этим проблем нет, но нужно показывать разные меню в зависимости от вкладки.

Вопрос в том, как в событии MouseDown определить на какой именно вкладке находиться указатель мыши.

Подобная ситуация была с тулбаром, но там ширина кнопок одинакова, и они, в отличии от вкладок, не сдвигаются вправо-влево.

Одним словом: ХЕЛП
Сообщ. #902760
15.08.2006 17:39
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

непров.участник
Last Login: 08.07.2008 15:52
Сообщ.: 1 131, Visits: 8 867
Irokez,

Вообще-то, стандартное (ожидаемае) попап меню должно выскакивать на активную вкладку. Как это ожидать какое-то меню от неактивного элемента? Это как-то против правил...

Да, а такие меню, если я хорошо помню, пишутся для Mouse_Up

VladConn

Сообщ. #902764
15.08.2006 17:49


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.03.2008 10:38
Сообщ.: 193, Visits: 1 745
аналог такой панели есть в Опере. (в 1С и, думаю, есть еще примеры)
там открывается меню для вкладки, не зависимо от того активна она или нет.

Про маусап согласен, но это дела не меняет, так как при щелчке правой кнопкой вкладка не активизируется всеравно.
Сообщ. #902766
15.08.2006 18:03
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

непров.участник
Last Login: 08.07.2008 15:52
Сообщ.: 1 131, Visits: 8 867
Irokez,

Я могу повторить опять: это нестандартное поведение GUI. И что потом делать с меню? Вызывать его какой-то пункт? Так вкладка неактивна. Делать меню с мертвыми пунктами и одним живым - на активацию вкладки? Это странно - меню на активацию вкладки: т.е. кликни правой, потом левой. Так проще сразу левой.

VladConn

Сообщ. #902767
15.08.2006 18:38


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
На самом деле есть смысл в словах Irokez.

К примеру, в Visual Studio 2005. Меня всегда бесило, что для того чтобы закрыть вкладку мне обязательно нужно ее выбрать. Т.е. она выбирается сама, хотя закрытие вкладки происходит по среднему клику мыши. А если на вкладке дизайн большой формы, то приходится ждать N секунд, что, мягко говоря, неудобно.

Т.к. в стандартном TabStrip по клику правой кнопкой выбор вкладки не происходит, то, думаю, нет никого другого выхода, кроме как сабкласить эту вкладку и все клики правой кнопкой "переделывать" в клики левой.

Правда, тем самым будет достигнут именно тот эффект, который я описал выше, но иного выхода я не знаю.

Сообщ. #902769
15.08.2006 18:45
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

непров.участник
Last Login: 08.07.2008 15:52
Сообщ.: 1 131, Visits: 8 867
Alexej Spirin,

Мы наверноe подразумеваем разное: я не знаю, как можно закрыть вкладку в тэбстрип, кликая на нее. Если на открытую вкладку кликать, то она никуда не исчезает.

Кстати, именно потому, что то, что хочет Irokez, было бы нестандартное, неожидаемое поведение контроля, и нет легко доступного способа его исполнить.

VladConn

Сообщ. #902770
15.08.2006 18:50


Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 29.10.2007 14:45
Сообщ.: 1 833, Visits: 16 863
> я не знаю, как можно закрыть вкладку в тэбстрип, кликая на нее.

Я имел ввиду Visual Studio 2005. Там окна - вкладки. Ну потипа как в Опере.

Полностью согласен, что у Irokez НЕстандартная задача.

Но думаю, что все-таки можно ее решить так, как я написал выше.

Сообщ. #902771
15.08.2006 19:13
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

непров.участник
Last Login: 08.07.2008 15:52
Сообщ.: 1 131, Visits: 8 867