Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eigenen Button in einem Ribbon Element deaktivieren

523 views
Skip to first unread message

Gerhard Förster

unread,
Sep 16, 2011, 10:11:25 AM9/16/11
to
Hallo und Moin. Moin

ich bin meine ersten Schritte in der Ribbon Entwicklung gegangen ud
ein Ribbon entwickelt, was jetzt auch funktioniert. Nun möchte ich in
Abhängigkeit von bestimmten Parametern bestimmte buttons aus- bzw.
einbelnden.
Dazu habe ich folgende Commands in der Definition
eingetragenfolgendes

<?xml version="1.0"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/
customui">

<commands>
<command idMso="Vermietungen" enabled = "false"/>
<command idMso="Liegenschaften" enabled = "false"/>
</commands>

Vermietungen und Liegenschafte sind zwei Buttons die wie folgt
definiert sind.

<group id="grp32971" label="Reports"><button id="btn32990"
label="Liegenschaften" onAction="rpt_gr1"/><button
id="btn32991"
label="Gebäude" onAction="rpt_gr2"/><button id="btn32992"
label="Geschosse" onAction="rpt_gr3"/><button id="btn32993"
label="Bauwerk" onAction="rpt_gr4"/><button id="btn32994"
label="Räume" onAction="rpt_gr5"/><button id="btn32995"
label="Vermietungen"/>
</group>

Leider funktioniert das nicht, die Buttons bleiben aktiv, es erfolgt
auch keine Fehlermeldung.
Gelesen habe ich, das man den Button über "idMso" anspricht, woher
bekomme ich des idMso für das label.

Wer kann mir weiterhelfen.

Gruß Gerhard

Thorsten Albers

unread,
Sep 16, 2011, 12:10:28 PM9/16/11
to
Gerhard Förster <in...@ingbuero-foerster.de> schrieb im Beitrag
<18ba226a-499f-4a15...@s2g2000vby.googlegroups.com>...
> Gelesen habe ich, das man den Button über "idMso" anspricht, woher
> bekomme ich des idMso für das label.

Voraussetzung:
Ich habe bisher nur mit Ribbons in Word gearbeitet; anscheinend gibt es
Unterschiede in Access, aber das folgende dürfte auch für Access gelten..

1.
Über die 'idMso' wird auf Steuerelement zugegriffen, die von _M_ _S_
_O_ffice von Haus aus zur Verfügung gestellt werden. Bei eigenen
Steuerelementen ist immer 'id' zu verwenden.

2.
Um den Aktivierungszustand von Steuerelementen abhängig von anderem
festzulegen, müssen diese Steuerelemente mit einer
'getEnabled'-Callback-Prozedur verbunden sein, also z.B.

<button id="btn32990"
label="Liegenschaften"
onAction="rpt_gr1"
getEnabled="btn32990_getEnabled"
/>

In - als Bsp. - VBA:
Sub getEnabled(Control As IRibbonControl, ByRef Enabled)
If <xyz> Then
Enabled = True
Else
Enabled = False
End If
End Sub

3.
Was Du vorzuhaben scheinst, geht m.W. nicht: Du kannst nicht zwei
Steuerelemente (z.B. 'Liegenschaften') mit der gleichen ID einbauen bzw.
auf ein und dasselbe Steuerelement aus '<commands>' und '<ribbon><tabs>',
also zwei verschiedenen Abschnitten des '<customUI>' zugreifen, du mußt
jeweils eigene Steuerlemente einbauen.


--
Thorsten Albers

gudea at gmx.de

Gunter Avenius

unread,
Sep 19, 2011, 5:44:53 AM9/19/11
to
Hallo Gerhard,

Gerhard Förster schrieb folgendes:
...
zudem was Thorsten schon angemerkt hat:
http://www.accessribbon.de/index.php?Access_-_Ribbons:Callbacks:getEnabled

Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com

http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de

Thorsten Albers

unread,
Sep 19, 2011, 8:15:26 AM9/19/11
to
Gunter Avenius <nos...@avenius.net> schrieb im Beitrag
<1gwhq31ra8vq1$.d...@ID-300043.user.individual.de>...
Vielleicht auch hilfreich:
http://www.herber.de/materialien/ribbonx.chm
0 new messages