Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Добавление элементов в ContextMenu / 12 сообщений из 12, страница 1 из 1
16.02.2015, 21:04
    #38881152
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
Подскажите, возможно ли добавить свои пункты в стандартное меню при нажатии правой кнопки мыши на textbox? Или как отключить некоторые стандартные пункты меню?
...
Рейтинг: 0 / 0
16.02.2015, 21:24
    #38881163
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
lex452,

Можете своё меню создать и повесить его на текстовое поле
...
Рейтинг: 0 / 0
16.02.2015, 23:04
    #38881194
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
Это можно, но не хочется постоянно прописывать стандартные операции копировать вставить и прочее.
...
Рейтинг: 0 / 0
17.02.2015, 00:19
    #38881221
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
lex452,

Через .Net вряд ли сделаете.

Теоретически первое что надо сделать - отловить WM_INITMENUPOPUP (сообщение кот. меню шлет перед тем как появиться), для чего сабклассить окно куда оно посылается. Варианты: сам текстбокс, его родитель, форма. Надо пробовать.
В этот момент получить handle(hwnd) вашего стандартного меню.
Имея hwnd, добавить ваши пункты (здесь же видимо можно удалить/зализейблить существующие). Нажатия своих пунктов также отлавливать в этой же WndProc.

Документация в помощь:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646977(v=vs.85).aspx

Если готовы двигаться в этом направлении, готов немного помочь/поднаправить. Сложного там особо ничего нет, было бы желание.

VSVLADlex452,
Можете своё меню создать и повесить его на текстовое поле
Я бы не стал идти по этому пути.
Как минимум надо будет "давить" стандартное, и писать свой код для копировать - вставить это идиотизм.
...
Рейтинг: 0 / 0
17.02.2015, 00:47
    #38881228
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
Дмитрий77Через .Net вряд ли сделаете.
это уже не смешно


http://www.c-sharpcorner.com/UploadFile/deepak.sharma00/how-to-customize-default-contextmenu-of-a-textbox-control-in/
...
Рейтинг: 0 / 0
17.02.2015, 01:44
    #38881231
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
ИзопропилДмитрий77Через .Net вряд ли сделаете.
это уже не смешно
http://www.c-sharpcorner.com/UploadFile/deepak.sharma00/how-to-customize-default-contextmenu-of-a-textbox-control-in/

Ты это серьезно?
В этом примере чел полностью рисует свой порнострип и полностью пишет свой порнокод для стандартных команд.

Где там стандартное? (ну стандартное допустим "автоматически не вылезет", но меню то там полностью свое).

Не, ну если ТС это устроит, то ради бога. Хотя мне показалось по его ответу в 3-м посте что нет.
...
Рейтинг: 0 / 0
17.02.2015, 01:48
    #38881232
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
...
Рейтинг: 0 / 0
17.02.2015, 02:08
    #38881235
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
Изопропил,

>читай до просветления
оно мне зачем время тратить? я вопрос задал?

И что я там должен вычитать?
Как .Net лихо разбирается со стандартным меню Edit-контрола при наличии пристыкованных "Net-контролов"
// 1) ContextMenu 2) ContextMenuStrip
Ни то ни другое от этого "стандартным" не станет.
...
Рейтинг: 0 / 0
17.02.2015, 04:48
    #38881248
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
WM_INITMENUPOPUP здесь не прокатит, оно в данном случае не генерируется.
Вот нашел пару ссылок по сути, но это надо разбираться.

Modify right-click context menu in standard controls

Get HMENU from HWND within a Hook

ТС, забей наверно.
Или рисуй стрипы, как Изопропил ссылку дал.
...
Рейтинг: 0 / 0
17.02.2015, 21:08
    #38882228
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
Короче все таки самый простой вариант нарисовать меню самому
...
Рейтинг: 0 / 0
17.02.2015, 23:50
    #38882330
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
lex452Короче все таки самый простой вариант нарисовать меню самому
В твоем случае думаю да.

Я бы пободался если б надо было, глядя на те 2 ссылки что привел. Но с ходу не завелось. VB6-пример - в приведенном куске очень уж сабклассинг накручен, я проще делаю, вычленять желания нету. В C++ ссылке - тоже с ходу не врубился. И ощущение что оба кода накрученные - т.е. там отсутствует конкретное Msg, а предполагается некий неочевидный долбеж с целью поймать handle меню.

И потом, даже если и заведется, насколько это удастся легко определить в класс, чтоб с ходу можно было присобачивать к любому текстбоксу. Одно дело - один единственный, другое дело, если у тебя их 20 и хочешь этим периодически пользоваться в дальнейшем.
...
Рейтинг: 0 / 0
18.02.2015, 00:07
    #38882339
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление элементов в ContextMenu
Дмитрий77В твоем случае думаю да.

Я бы пободался если б надо было, глядя на те 2 ссылки что привел. Но с ходу не завелось. VB6-пример - в приведенном куске очень уж сабклассинг накручен, я проще делаю, вычленять желания нету. В C++ ссылке - тоже с ходу не врубился. И ощущение что оба кода накрученные - т.е. там отсутствует конкретное Msg, а предполагается некий неочевидный долбеж с целью поймать handle меню.

И потом, даже если и заведется, насколько это удастся легко определить в класс, чтоб с ходу можно было присобачивать к любому текстбоксу. Одно дело - один единственный, другое дело, если у тебя их 20 и хочешь этим периодически пользоваться в дальнейшем.

Каждый раз читая твои коменты, веселюсь ))
Прям как будто закоренелого автомеханика с 20-летним стажем внезапно переучили на программиста.

«Тут эта вотату хрень над йобнуть, и так вот это вхерачить, а тут всякой хрени накручено, туда так просто не подобраться, ноа если вооружиться кувалдой, это ведро с гайками и заведёцца»



Прям познаю свежий взгляд на разработку ПО
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Добавление элементов в ContextMenu / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]