Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

PopupMenu ;для Edit


Демонов Е.В. ©   (2002-10-23 11:20:00) 

Подскажите каким образом можно изменить стандартное контексное меню для Edit при помощи API?


Alex4444444444   (2002-10-27 17:08:00) [1]

Ne ochevidno. Vo-pervyh, nestandartnoe menu vyglyadit neaccuratno. Ya dolgo bilsya, poka nauchilsya ostavlyat" v TEdit standartnoe menu ne vziraya na PopupMenu u TParent. Vo vtoryh, pridetsya zhe ego obrabatyvat", i ne ochevidno, chto eto dast menshe coda.


Cobalt   (2002-10-27 14:05:00) [2]

>Nick N A (27.10.02 08:42)
>
>Ох и мучения бывают у людей
>Edit1.PopUpMenu:=PopUpMenu1; //(через ObjectInspector)

Полность согласен - намного проще в реализации, чем то, что вам предлагали(но оно вам, видимо, еще не под силу)


Nick N A   (2002-10-27 08:42:00) [3]

Ох и мучения бывают у людей

Edit1.PopUpMenu:=PopUpMenu1; //(через ObjectInspector)


Arcus   (2002-10-23 17:51:00) [4]

Разве что через Hook на сообщения?


Демонов Е.В.   (2002-10-23 15:09:00) [5]

Arcus © (23.10.02 15:01)
Что то не соображу как перехватить не потомка же писать.
Подскажите.
А что действительно нет какой нибудь функции ?


Arcus   (2002-10-23 15:01:00) [6]

to Демонов Е.В.

см. сообщение от Alex4444444444
"...перехватить WM_INITMENU или WM_INITPOPUPMENU..."
Перехватывали? Из хелпа к этому сообщению:
...
WM_INITMENUPOPUP
hmenuPopup = (HMENU) wParam;
...


Демонов Е.В.   (2002-10-23 14:11:00) [7]

Ну ниверю чтоникто не знает.


Демонов Е.В.   (2002-10-23 13:04:00) [8]

Ну и...


Демонов Е.В.   (2002-10-23 12:42:00) [9]

Не ну серьёзно может кто знает ?
как получить дескриптор контексного меню для далнейших с ним манипуляций ?


Игорь Шевченко   (2002-10-23 12:40:00) [10]

Демонов Е.В. © (23.10.02 12:22)

> А вроде слыхал что тут мастера водятся. !?


Ошибся


Демонов Е.В.   (2002-10-23 12:22:00) [11]

А вроде слыхал что тут мастера водятся. !?


Alex4444444444   (2002-10-23 12:22:00) [12]

Может, попробовать перехватить WM_INITMENU или WM_INITPOPUPMENU?
В прочем, для TEdit я сам не пробовал.


Демонов Е.В.   (2002-10-23 11:57:00) [13]

Нет... не то. мне нужно взять то контексное меню которое есть и добавить туда свои пункты . для этого нужно получить дескриптор энтого меню а потом insertmenu appendmenu и т.д.
Так вот как получить этот дескриптор - я что то не понимаю.

У формы его получаю с помощью GetSystemMenu.

А С Edit не катит.
ПОМОГИТЕ.


GreatMaster   (2002-10-23 11:27:00) [14]

Блин... извини, генацвале, я немного перепутал. То что я сказал - это чтобы ваще системный контекст зарубить (и ч/з клаву тоже)


GreatMaster   (2002-10-23 11:24:00) [15]

как изменить существующее мы не знаем, но чтобы вскакивало своё PopupMenu а не системное, можно вроде бы так

procedure TForm1.Edit1ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
Handled:=true;
end;


gek   (2002-10-23 11:22:00) [16]

Положи на форму PopUpMenu


Наверх

Титульная страница Поиск, карта сайта Написать письмо