Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Ribbons - Fokuserhalt ContextualTab

Begonnen von mk500, März 13, 2017, 09:54:45

⏪ vorheriges - nächstes ⏩

mk500

Hallo Community,

ich arbeite zur Zeit an der Erstellung einer Datenbank. Zur Übersichtlichkeit und der Optik wegen, schreibe ich über Ribbons eigene Menübänder und habe das Officemenü komplett ausgeblendet.

Jetzt habe ich folgendes Problem. Immer wenn ich ein Formular mit einem Menüband öffne welches ein ContextualTab enthält, öffnet die DB beim ersten Mal das ContextualTab wie es sein soll mit Fokus auf dem Subtab siehe Bild1. Öffne ich aber das Formular ein zweites Mal, setzt er den Fokus nicht mehr auf den Subtab sondern auf das Haupttab siehe Bild 2. Kann ich das irgendwie einstellen? bzw. per VBA den Fokus so setzen das er immer auf dem Subtab liegt, wenn es eins gibt!

Hier mal ein Beispiel für ein Menüband mit ContextualTab aus meiner DB:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <ribbon startFromScratch="true">
        <tabs>
            <!-- Erster Tab -->
            <tab id="tab0" label="IOGF1 - IDM">
                <group id="grp10" label="Zeiterfassung">
                    <button id="btn11" size="large" label="Zeit erfassen" onAction="OnActionButton" imageMso="DataType24HourTime" />
                    <separator id="mySeparator1" />
                    <button id="btn12" size="normal" label="Zeiten aktueller Monat" onAction="OnActionButton" imageMso="DataType24HourTime" />
                    <button id="btn13" size="normal" label="Zeiten aktuelles Jahr" onAction="OnActionButton" imageMso="CalculatedDateTime" />
                    <gallery id="MyGallery" imageMso="DateAndTimeInsert" label="Wählen Sie einen Monat:" columns="3" rows="4" onAction="MyGallerySelMonatCallbackOnAction" >
                        <item id="itmGall1" label="Januar" imageMso="CalendarOpen"/>
                        <item id="itmGall2" label="Februar" imageMso="CalendarOpen"/>
                        <item id="itmGall3" label="März" imageMso="CalendarOpen"/>
                        <item id="itmGall4" label="April" imageMso="CalendarOpen"/>
                        <item id="itmGall5" label="Mai" imageMso="CalendarOpen"/>
                        <item id="itmGall6" label="Juni" imageMso="CalendarOpen"/>
                        <item id="itmGall7" label="Juli" imageMso="CalendarOpen"/>
                        <item id="itmGall8" label="August" imageMso="CalendarOpen"/>
                        <item id="itmGall9" label="September" imageMso="CalendarOpen"/>
                        <item id="itmGall10" label="Oktober" imageMso="CalendarOpen"/>
                        <item id="itmGall11" label="November" imageMso="CalendarOpen"/>
                        <item id="itmGall12" label="Dezember" imageMso="CalendarOpen"/>
                    </gallery>
                </group>
                <group id="grp40" label="Qualität">
                    <button id="btn41" size="large" label="Q_Meldung anlegen" onAction="OnActionButton" imageMso="SiteColumnActionsValidationSettings" />
                    <button id="btn42" size="large" label="First Pass Yield" onAction="OnActionButton" imageMso="TeamPlannerTaskBorderColorGallery" />
                </group>
                <group id="grp70" label="Fertigung">
                    <button id="btn71" size="large" label="Zeugnis Voranmeldung" onAction="OnActionButton" imageMso="SaveWorkflowAsTemplate" />
                    <button id="btn72" size="large" label="FET_MU Aufträge" onAction="OnActionButton" imageMso="ControlsGallery" />
                </group>
                <group id="grp60" label="Urlaub">
                    <button id="btn61" size="large" label="Urlaubsplanung" onAction="OnActionButton" imageMso="TeamPlannerManualScheduleStyleMenu" />
                    <button id="btn62" size="large" label="Betriebsruhetage 2017" onAction="OnActionButton" imageMso="Today" />
                </group>
                <group id="grp20" label="Benutzerverwaltung">
                    <button id="btn21" size="large" label="Mein Profil" onAction="OnActionButton" imageMso="AccountMenu" />
                    <button id="btn22" size="large" label="Profil bearbeiten" onAction="OnActionButton" imageMso="AccountSettings" />
                    <button id="btn23" size="large" label="Ausloggen" onAction="OnActionButton" imageMso="RemoveUserFromGroup" />
                </group>
                <group id="grp50" label="Informationen">
                    <button id="btn53" size="large" label="Info" onAction="OnActionButton" imageMso="Info" />
                </group>
                <group id="grp30" label="Anwendung schließen">
                    <button id="btn31" size="large" label="Schließen" onAction="OnActionButton" imageMso="BroadcastEnd" />
                </group>
            </tab>
        </tabs>
        <contextualTabs>
            <tabSet idMso="TabSetFormReportExtensibility">
                <tab id="ctab3" label="FET_MU Aufträge">
                    <group id="cgrp310" label="Endkontrolle">
                        <button id="cbtn311" size="large" label="Geber eintragen" onAction="OnActionButton" imageMso="EditWorkflowTask"/>
                    </group>
                    <group id="cgrp320" label="Laser">
                        <button id="cbtn321" size="large" label="Auftrag Scannen" onAction="OnActionButton" imageMso="AssociateExistingWorkflow"/>
                    </group>
                    <group id="cgrp330" label="Messumformerbau">
                        <button id="cbtn331" size="large" label="Scannen für Box" onAction="OnActionButton" imageMso="NewWorkspaceFromArchive"/>
                        <button id="cbtn332" size="large" label="In Arbeit setzen" onAction="OnActionButton" imageMso="GroupWorkflowSave"/>
                        <button id="cbtn333" size="large" label="Auftrag abmelden" onAction="OnActionButton" imageMso="WorkflowComplete"/>
                    </group>
                    <group id="cgrp340" label="Gemeinsam">
                        <button id="cbtn341" size="large" label="Aktualisieren" onAction="OnActionButton" imageMso="RefreshMeetingDetails"/>
                        <button id="cbtn342" size="large" label="Suchen" onAction="OnActionButton" imageMso="GroupCalendarRefineSearch"/>
                    </group>
                    <group id="cgrp350" label="Submenü">
                        <button id="cbtn351" size="large" label="Schließen" onAction="OnActionButton" imageMso="CloseComparison"/>
                    </group>
                </tab>
            </tabSet>
        </contextualTabs>
    </ribbon>
    <backstage>
        <button idMso="FileSave" visible="false"/>
        <button idMso="SaveObjectAs" visible="false"/>
        <button idMso="FileSaveAsCurrentFileFormat" visible="false"/>
        <button idMso="FileOpen" visible="false"/>
        <button idMso="FileCloseDatabase" visible="false"/>
        <tab idMso ="TabInfo" visible="false"/>
        <tab idMso ="TabRecent" visible="false"/>
        <tab idMso ="TabNew" visible="false"/>
        <tab idMso ="TabPrint" visible="false"/>
        <tab idMso ="TabShare" visible="false"/>
        <tab idMso ="TabHelp" visible="false"/>
        <button idMso="ApplicationOptionsDialog" visible="false"/>
        <button idMso="FileExit" visible="false"/>
    </backstage>
</customUI>


Danke im Voraus für eure Antworten!
Viele Grüße
Martin

MaggieMay

Hallo Martin,

wie öffnest du denn das Formular?
Kann es sein, dass es vor dem zweiten "Öffnen" gar nicht geschlossen wurde?
Wie ist der Ablauf, in welchem Zusammenhang steht das alles?
Freundliche Grüße
MaggieMay

mk500

Hallo MaggieMay,

die Formulare werden über die selbsterstellten Buttons geöffnet und auch geschlossen.
Es gibt ein Startformular der DB dieses ist immer geöffnet und hat das Menüband siehe "Bild3" im Anhang. Beispielsweise klicke ich jetzt auf "Zeit erfasssen" dann wird wird das Formular "frmZeiterfassung" geöffnet. Dieses hat dann im Grundaufbau das gleiche Menüband wie das Startformular zusätzlich aber halt auch dieses Contextualmenü (Bild4), auf welches ja auch beim ersten Laden des Formular der Fokus steht. Aber leider halt nur beim ersten Mal. Die Formulare werden alle immer wieder geschlossen.

Viele Danke für die Hilfe,
Martin

MaggieMay

Ich hatte das mal ausprobiert und dabei festgestellt, dass es sich genau so wie von dir geschildert verhält, wenn das Formular nicht geschlossen wird zwischen den Aufrufen. Ist es bereits geöffnet, scheint das Contextual Menu nicht zu greifen, ansonsten schon.

Um die bei dir vorliegende Konstellation testen (= analysieren und verstehen) zu können, musst du wohl eine Beispiel-DB hochladen, die lediglich die dazu erforderlichen Objekte beinhalten sollte.
Freundliche Grüße
MaggieMay