Конференция "WinAPI" » непростое контекстное меню [D7, WinXP]
 
  • KilkennyCat © (01.08.08 22:01) [20]
    Я бы не хотел, чтобы в мои приложения что-то так нагло вставилось.
    Так что, если найдет решение, сообщите мне, пожалуйста, че я должен дописать в свои программульки, чтобы это решение у меня не сработало. Очень уж я придирчив к интерфейсу.
  • mistic (04.08.08 09:03) [21]
    значит невозможно.
    чтож будем идти обходным путем, писать свой popup и посылать команду вставки активному контролу.
  • mistic (04.08.08 09:53) [22]
    Кстати, как тогда это возможно?
    http://img.muffs.ru/imgstore/D605q895T_1217829135_w638410
  • Cobalt (04.08.08 22:16) [23]
    Дело в том, что есть стандартные контролы, поведение которых прописано в Comctrl32.dll.
    Вот это есть стандартное меню Виндовс для контрола Edit.
    Программы могут переопределять поведение контролов по своему усмотрению (у себя, конечно).
  • CodeMonkey © (08.08.08 11:24) [24]

    > Как добавить пункт в системное меню windows

    Это невозможно. За стандартное меню на edit-контролах отвечает система. Никакими средствами получить хэндл этого меню для модификации нельзя. Стандартное меню не ловится хуками, для него не рассылаются стандартные сообщения (типа WM_INITMENUPOPUP) и т.п. Возможно, это сделано специально, чтобы программисты не мутили с этим (как известно - дай только людям в руки возможность - и они обязательно воспользуются ей неправильно).
    Единственный метод - установить полностью своё меню с эмулированными стандартными пунктами. Проблема в том, что нужно, во-первых, делать пункты локализованными, а во-вторых, учитывать наличие дополнительных unicode-меню (и прочих дополнительных пунктов, если они есть).


    > Кстати, как тогда это возможно? http://img.muffs.ru/imgstore/D605q895T_1217829135_w638410

    Что не так с этим меню? Это - системное меню и система распоряжается им по своему усмотрению. Очевидно, что она может добавить сколько угодно пунктов. В частности, при установке поддержки письма слева-направо и т.п. она добавляет туда эти пункты. Это ни разу не означает, что вы можете менять это меню.
 
Конференция "WinAPI" » непростое контекстное меню [D7, WinXP]
Есть новые Нет новых   [134435   +33][b:0][p:0]