G
Guy
Hi All,
Following the angst and frustration of my earlier postings (the learning
curve syndrome, lack of global knowledge, and pressures of budget and time
constraints) on this subject, would like to report that much progress is
being made.
Hi All,
Following the angst and frustration of my earlier postings on this subject
(the learning curve syndrome, lack of global knowledge, and the pressures of
budget, cost and time constraints) I would like to report that much progress
has been made in the management of many Ribbons in a large Access (ADP)
application which I hope will be relevant to any significant Access
solution.
The initial elegant solution proposed by Albert Kallal (MVP) I believe is
very close to the mark (see previous postings). Thanks Albert.
Assume that each form is storing the state of it's associated ribbon in a
ribbon class (1 "ribbon class" instance per form) and the ribbon callbacks
have access to that instance.
The issues I have are related to the timing of Ribbon Invalidate events.
Apologies in advance if any of the following observations are incorrect,
this is but a day or two's work; I haven't found the knowledge to the
contrary elsewhere, and I don't have direct access to the MS hierarchy.
Assuming that a form is fully loaded but not the active form, and you are
sharing a Ribbon amongst many forms. a shared ribbon form then becomes the
active form, therefore potentaially you need to reset the ribbon state:
1) A) If you are using a ribbon that doesn't fire any of the
enable/label/visible callbacks then the invalidate event is fired
automatically when the form is activated (as you would expect)
B) If you are using a form that uses a ribbon with any of these callbacks
then it doesn't and you need to fire the event using an invalidate call.
2) In B) whilst I place an invalidate call in the Activate_Form event
for such circumstances it isn't always fired consistantly. Debug.Print
statements show that sometimes the Form_Activate event doesn't appear to
even get fired and therefore the ribbon invalidate event doesn't occur (I
accept that the events may occur but the output stream doesn't capture them)
but whatever... the net result is currently I am having problems getting
shared ribbons with callbacks to work, even though each form independantly
maintains the ribbon state.
The questions I have are:
1) Should we be trying to use shared form ribbons or focus on one
ribbon per form?
2) When do Invalidate events occur? (they also appear to occur in the
on current record event, which of course makes perfect sense)
Just trying to nail down the management of A2007 ribbons.
Your assistance appreciated
Guy
Following the angst and frustration of my earlier postings (the learning
curve syndrome, lack of global knowledge, and pressures of budget and time
constraints) on this subject, would like to report that much progress is
being made.
Hi All,
Following the angst and frustration of my earlier postings on this subject
(the learning curve syndrome, lack of global knowledge, and the pressures of
budget, cost and time constraints) I would like to report that much progress
has been made in the management of many Ribbons in a large Access (ADP)
application which I hope will be relevant to any significant Access
solution.
The initial elegant solution proposed by Albert Kallal (MVP) I believe is
very close to the mark (see previous postings). Thanks Albert.
Assume that each form is storing the state of it's associated ribbon in a
ribbon class (1 "ribbon class" instance per form) and the ribbon callbacks
have access to that instance.
The issues I have are related to the timing of Ribbon Invalidate events.
Apologies in advance if any of the following observations are incorrect,
this is but a day or two's work; I haven't found the knowledge to the
contrary elsewhere, and I don't have direct access to the MS hierarchy.
Assuming that a form is fully loaded but not the active form, and you are
sharing a Ribbon amongst many forms. a shared ribbon form then becomes the
active form, therefore potentaially you need to reset the ribbon state:
1) A) If you are using a ribbon that doesn't fire any of the
enable/label/visible callbacks then the invalidate event is fired
automatically when the form is activated (as you would expect)
B) If you are using a form that uses a ribbon with any of these callbacks
then it doesn't and you need to fire the event using an invalidate call.
2) In B) whilst I place an invalidate call in the Activate_Form event
for such circumstances it isn't always fired consistantly. Debug.Print
statements show that sometimes the Form_Activate event doesn't appear to
even get fired and therefore the ribbon invalidate event doesn't occur (I
accept that the events may occur but the output stream doesn't capture them)
but whatever... the net result is currently I am having problems getting
shared ribbons with callbacks to work, even though each form independantly
maintains the ribbon state.
The questions I have are:
1) Should we be trying to use shared form ribbons or focus on one
ribbon per form?
2) When do Invalidate events occur? (they also appear to occur in the
on current record event, which of course makes perfect sense)
Just trying to nail down the management of A2007 ribbons.
Your assistance appreciated
Guy