2008-09-02 6 views
0

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

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

ответ

1

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

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

Существует не простой способ сделать это в я знаю.

Извинения не будет быть более полезным.