2008-09-02 9 views
0

Ich habe eine VB6-Form, die ich ein OCX-Steuerelement eingeschaltet habe. Einstellung NegotiateMenus auf dem Formular zeigt die OCX-Steuerelement (was ich will). Ich füge dann meine eigene Kontrolle dem Formular hinzu. Wenn dieses Steuerelement den Fokus hat, verschwindet das Menü von ocx.VB6 NegotiateMenus

Wie kann ich immer das Menü von der ocx angezeigt, unabhängig davon, wer hat den Fokus?

Antwort

1

Dan, ich erinnere mich daran, vor vielen Jahren versucht zu haben, etwas Ähnliches zu tun, und konnte es nicht erreichen. Was ich getan habe, war ein leeres Top-Level-Menü mit der gleichen Beschriftung wie das Menü auf dem OCX-Steuerelement hinzuzufügen und immer deaktiviert zu sein. Dann, wenn das OCX den Fokus bekommen würde, würde ich meinen deaktivierten Menüpunkt verbergen, so dass es so aussieht, als hätte der OCX den Menüpunkt aktiviert. Es speichert all das hässliche Springen, wenn Menüs erscheinen und verschwinden (nachdem das OCX den Fokus verloren hat, würde ich das deaktivierte Menü wieder anzeigen).

Wenn Sie den Menüeintrag weiterhin aktivieren möchten, müssten Sie ihn genau in Ihrem Formular replizieren und Ihre Version ausblenden, wenn Ocx aktiv ist (Sie müssten auch alle eigenen Ereignisse verbinden, um die Funktionalität zu replizieren auf dem OCX.

Es gibt keinen einfacheren Weg, dies zu tun, ich kenne.

Apologies nicht mehr hilfreich sein werden.