VB6 NegotiateMenus

У меня есть форма vb6, на которую я поставил элемент управления ocx. Настройка NegotiateMenus в форме отображает элемент управления ocx (это то, что я хочу). Затем я добавляю в форму свой собственный элемент управления. Когда этот элемент управления находится в фокусе, меню из ocx исчезает.

Как я могу всегда держать отображаемое меню из ocx, независимо от того, у кого есть фокус?


person dan gibson    schedule 02.09.2008    source источник


Ответы (1)


Дэн, я помню, как много лет назад пытался сделать что-то подобное, но не смог. В итоге я добавил пустое меню верхнего уровня с тем же заголовком, что и меню в элементе управления OCX, и всегда отключал его. Затем, когда OCX получал фокус, я скрывал свой отключенный пункт меню, чтобы он выглядел так, как если бы щелчок по OCX включал этот пункт меню. Это избавляет от всех уродливых прыжков при появлении и исчезновении меню (очевидно, когда OCX теряет фокус, я снова показываю отключенное меню).

Если вы по-прежнему хотите, чтобы этот пункт меню был включен, вам придется воспроизвести его точно в вашей форме и скрыть свою версию, когда Ocx активен (вам также нужно будет связать все свои собственные события, чтобы реплицировать функциональность, доступную в OCX. .

Я знаю, что нет более простого способа сделать это.

Извинения не помогли.

person Binary Worrier    schedule 18.12.2008