![]() ![]() | |
![]() ![]() | |
![]() |
Конференции: 3D графика/ Delphi/ Игры/ Бизнес/ Потрепаться/ PHP&MySQL/ QuarkXPress/ Turbo Pascal/ WEB-дизайн
Keng [2003-08-01 10:00:23]
Popup menu for richedit...
Как вставить в ричедит такое же выпадающее меню, как в других едитах?
В английском виндоуз это cut/copy/paste/delete/select_all. В русском вырезать/копировать/вставить/удалить/выбрать_все.
Оно делается такое же для TRichEdit?
Man in Black ® [2003-08-04 10:14:59] [1]
Создавай свой popup menu.
An application must implement any UI components necessary to make formatting operations available to the user
still [2003-08-15 12:23:51] [2]
А в стандартный едит как ето меню вставить?
Man in Black ® [2003-08-15 12:27:50] [3]
Стандартное в нем и так есть.
still [2003-08-15 12:44:13] [4]
Мне нужно в стандартное меню добавить свои пункты.
Т.е. надо либо получить хэндл стандарного меню, либо создать свое такое же.
Man in Black ® [2003-08-15 13:09:08] [5]
WM_INITMENU
wm_MEASUREitem
wm_drawitem
Почитай хелп Win32 Programming.
still [2003-08-15 13:43:03] [6]
WM_INITMENU (как и WM_INITMENUPOPUP) происходит, когда юзер кликает по главному меню.
Если на едите вызываешь контектстное меню, то происходит WM_CONTEXTMENU, в котором нет нужной инфы.
WM_INITMENU в принципе устраивает, только вот как его получить при вызове всплывающего меню?
Man in Black ® [2003-08-15 14:27:27] [7]
В общем, ставь хук (WH_CALLWNDPROC) и при вызове меню (WM_INITMENUPOPUP) узнавай ее хендл и добавляй:
AppendMenu(GetSystemMenu(HNDL,False), MF_POPUP,Items[ItemNum].Handle, PChar(Items[ItemNum].Caption));
А меню в чужом приложении или в твоем?
Кацо [2003-08-15 14:45:37] [8]
still, ты почему свою меню не делаешь?
still [2003-08-15 14:55:14] [9]
> Man in Black ® [2003-08-15 14:27:27]потому что нужно стандартное меню для едита. Оно например в русской и английской винде отличается.
Меню в своем приложении.
> Кацо [2003-08-15 14:45:37]
Man in Black ® [2003-08-15 15:13:04] [10]
Ну тогда и все. :)
Делай так как написано выше. И добавляй на форме событие.
Кацо [2003-08-15 15:20:24] [11]
А что за событие? Точнее, как?
still, не понял, ты не можешь свое менб написать или ты не можешь языки осы узнавать?
Man in Black ® [2003-08-15 15:27:21] [12]
Проще было бы действительно написать свой popup (если он для одного контрола - то тем более) и подставлять английский и русский текст в зависимости от системы.
wer [2008-01-24 20:25:51] [13]
ая тоже хочу стандартное)
Bill [2010-10-13 19:12:04] [14]
Делфи-писатели - дебилы!!! Дальше IDE и своего носа не видят! LOL