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

Вниз

События OnEnter и OnExit.   Найти похожие ветки 

 
S7r   (2008-04-11 00:44) [0]

Здравствуйте. Возникла такая проблема: есть компонент скажем memo родителем которого также являеться memo:
Memo1.Parent:=Memo2
Теперь если например щелкнуть правой кнопкой мыши по memo1 то у memo1 сработает сначало OnExit а затем сразу OnEnter. Это крайне не желательное поведение. Можно ли каким-либо образом избавиться от потери и восстановления фокуса в данном случае? Или хотябы определить что это фиктивная его потеря (дело в том что даже в WndProc Memo2 управление передается только после OnExit у Memo1)
Дело в том что мне необходимо при выходе фокуса из Memo1 спрятать его и уничтожить т.к. это вспомогательный компонент, но из за подобного поведения при попытке открыть его контекстное меню все накрывается.
Заранее благодарен за совет.


 
Германн ©   (2008-04-11 00:59) [1]


> S7r   (11.04.08 00:44)

Memo, у которого Parent тоже Memo, кажется мне весьма надуманным примером. Может перейдешь к реальному примеру? Это во-первых. Во-вторых, зачем задал вопрос в WinAPI? Разве
> События OnEnter и OnExi
имеют какое-либо отношение к WinAPI?


 
S7r   (2008-04-11 01:11) [2]

Может перейдешь к реальному примеру?
Хорошо. Есть listview. у него есть поле появляющееся для редактирования caption item"a. Это поле я хочу заменить на memo. Суть вроде не сильно изменилась... З.ы. заменяю я его не просто так а потому что ListView в OwnerDraw и редактирование caption также реализовывалось вручную.

Во-вторых, зачем задал вопрос в WinAPI?
Мда. С этим вышла накладка. Стоит меня пнуть.


 
S7r   (2008-04-11 01:19) [3]

Да корни растут вот оттуда:
http://delphimaster.net/view/4-1206293624/


 
Германн ©   (2008-04-11 01:31) [4]


> S7r   (11.04.08 01:11) [2]
>
> Может перейдешь к реальному примеру?
> Хорошо. Есть listview. у него есть поле появляющееся для
> редактирования caption item"a. Это поле я хочу заменить
> на memo. Суть вроде не сильно изменилась...

Суть изменилась радикально. "поле появляющееся для
> редактирования caption" есть InplaceEditor. Именно его и нужно реализовать в наследнике TListView.


 
S7r   (2008-04-11 01:45) [5]

Такc.
>есть InplaceEditor. Именно его и нужно реализовать в наследнике TListView.
Беглый поиск по InplaceEditor что-то не дал серьезных результатов. Это какой-то стиль окон редактирования или я ошибаюсь?
Теперь известно какое поведение memo мне необходимо. Я так понимаю я копаю не в ту сторону удаляя свой мемо в OnExit?


 
Германн ©   (2008-04-11 02:04) [6]


> S7r   (11.04.08 01:45) [5]
>
> Такc.
> >есть InplaceEditor. Именно его и нужно реализовать в наследнике
> TListView.
> Беглый поиск по InplaceEditor что-то не дал серьезных результатов.
>  Это какой-то стиль окон редактирования или я ошибаюсь?

Ошибаешься. Для каждого свойства (property), которое допускает редактирование в рантайме и/или дизайнтайме, должен быть зарегистрирован свой редактор.


 
S7r   (2008-04-11 03:05) [7]

Итак временно решил проблему. Поставил Parent"ом моему Memo владельца listview. Теперь при открытии контекстного меню фокус не теряется. Но мне такое решение не очень нравится. Потому как этот memo я уничтожал в деструкторе listview. А так получаеться я оставляю это на совести владельца. Да и преобразования ClientToParent для позиционирования memo тоже напрягают.


 
Германн ©   (2008-04-11 03:13) [8]


> S7r   (11.04.08 03:05) [7]

Не тем путём идёте товарисчь!


 
S7r   (2008-04-11 18:28) [9]


> Не тем путём идёте товарисчь!


Так направте, не сочтите за труд.


 
Германн ©   (2008-04-11 21:37) [10]


> Так направте, не сочтите за труд.
>

Ну почитай хотя бы это:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=806#02


 
имя   (2008-04-14 19:58) [11]

Удалено модератором


 
S7r   (2008-04-14 20:01) [12]

Спасибо за ссылку. Но, к сожалению, там нет ничего нового. Родителем Inplace Editor там также является форма.


 
Семеныч   (2008-04-14 20:06) [13]

Почему бы не редактировать заголовок Item"а в отдельном многострочном редакторе с модальной формой? Делается за 15 минут и все проблемы сразу исчезают.


 
имя   (2008-04-16 05:44) [14]

Удалено модератором


 
имя   (2008-05-05 17:48) [15]

Удалено модератором



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

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

Наверх





Память: 0.48 MB
Время: 0.005 c
10-1154350700
MisterR
2006-07-31 16:58
2009.04.12
Сменить имя листа в Excel


15-1234398174
DillerXX
2009-02-12 03:22
2009.04.12
Помогите выбрать цифромыльницу по точным критериям


15-1234438591
Урсулапов_
2009-02-12 14:36
2009.04.12
Как узнать описание имени компьютера в сети?


15-1234647001
Юрий
2009-02-15 00:30
2009.04.12
С днем рождения ! 15 февраля 2009 воскресенье


15-1234287680
Маэстро
2009-02-10 20:41
2009.04.12
Сколько это будет стоить?





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