![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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