![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Ситуация такая: мне необходимо в программе реализовать следующий момент. Пользователь дважды щелкает на закладке в TabControl (DblClick), после этого, на месте закладки появляется TEdit, в котором находится текст закладки. Пользователь редактирует текст, нажимает Enter или просто покидает TEdit (например, щелкает на другой компонент) и текст в закладке меняется на новый, из TEdit.
Теперь вопросы: 1. Как отловить DblClick на закладке? 2. Как определить границы (TRect) закладки? Я использую стандартный TabControl, но, если кто-то знает другой компонент с такими свойствами - буду рад. Заранее благодарен.
-------------------- ![]() |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
хз. Я для начала я бы использовал PageControl. А вообще кажися в JVCL уже был компонент для реализации такиф "финтов"
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Page Control не подходит. Программа уже есть и мне необходимо просто улучшать ее. А замена TabControl на PageControl - больщой объем работы...
-------------------- ![]() |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
зачем лишние понты? сделай попап меню с пунктом "переименовать")
-------------------- There are always someone smarter than you... |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Не "понты", а требования заказчика =((( Вот хочется ему, чтобы прямо на вкладке переименовывать можно было...
Добавлено @ 14:03 Хорошо, границы табов можно запоминать во время отрисовки. Это не проблема. Но, неужели никто не может подсказать, как отловить DblClick? -------------------- ![]() |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
На стандартной TabControl не думаю что это получиться... Поэтому Видимо будет.. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
Новерное тут надо решать с помощью сообщений Windows и смотреть геде в это время находится курсор. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
да запросто!! можно через лок.хуки а можно и тупо WndProc переопределив вот простейший вариант:
-------------------- There are always someone smarter than you... |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Metalfan: В обоих случаях надо определить, что DblClick был именно по закладке и определить по какой закладке. Это как решить?
-------------------- ![]() |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
if AMessage.Msg = WM_LBUTTONDBLCLK then
begin ShowMessage(tbc1.Tabs[tbc1.TabIndex]); end; ты попробуй! эт возникнет только при даблклике на закладке -------------------- There are always someone smarter than you... |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Как-то всё мегасложно получается. Давайте проще.
1) Ловим клик, запоминаем GetTickCount 2) Ловим ещё клик, проверяем GetTickCount-OldTickCount<Treshold 3) если да, то считаем DoubleClick пойманным Disclaimer: у меня это работало на PageControl, с TabControl не тестировал. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |