![]() |
HOWTO: Multiple accelerator tables |
Post Reply
|
| Author | |
mgampi
Senior Member
Joined: 14 July 2003 Status: Offline Points: 1210 |
Post Options
Thanks(0)
Quote Reply
Topic: HOWTO: Multiple accelerator tablesPosted: 30 July 2009 at 9:27am |
|
Hi;
I created a MDI app with different document types and each type has its own ACCELERATORS resource. The accelerators all work very well, but only the shortcuts for the main accel table (IDR_MAINFRAME) are shown in all commandbar objects. What do I have to do to see also shortcuts for the currently active document type? |
|
|
Martin Product: Xtreme Toolkit v 22.1.0, new Projects v 24.0.0 Platform: Windows 10 v 22H2 (64bit) Language: VC++ 2022 |
|
![]() |
|
Oleg
Senior Member
Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
Post Options
Thanks(0)
Quote Reply
Posted: 31 July 2009 at 4:08am |
|
Hi, Indeed only single Table supported :( Copy all shortcuts from document to main frame's.
|
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
![]() |
|
mgampi
Senior Member
Joined: 14 July 2003 Status: Offline Points: 1210 |
Post Options
Thanks(0)
Quote Reply
Posted: 31 July 2009 at 4:12am |
|
Hi;
In my case thats not possible, because same shortcuts execute different commands in differnet document types. Is no other solution available? |
|
|
Martin Product: Xtreme Toolkit v 22.1.0, new Projects v 24.0.0 Platform: Windows 10 v 22H2 (64bit) Language: VC++ 2022 |
|
![]() |
|
rdhd
Senior Member
Joined: 13 August 2007 Location: United States Status: Offline Points: 951 |
Post Options
Thanks(0)
Quote Reply
Posted: 05 August 2009 at 6:42pm |
|
We swap out the MFC frame's accel table handle (I think it is "m_hAccel") as we navigate among our various doc types. We also rebuild the command ribbon when we do the MDI transition. And last but not least, whenever any customization occurs, we save the changes to the registry. So when we load an accel table for a particular MDI document, we first check the registry and use any table saved there, otherwise we load the accel resource corresponding to the doc type.
|
|
![]() |
|
mgampi
Senior Member
Joined: 14 July 2003 Status: Offline Points: 1210 |
Post Options
Thanks(0)
Quote Reply
Posted: 06 August 2009 at 3:35am |
Hi; Could you show a brief example how you do this? This would be very welcome... |
|
|
Martin Product: Xtreme Toolkit v 22.1.0, new Projects v 24.0.0 Platform: Windows 10 v 22H2 (64bit) Language: VC++ 2022 |
|
![]() |
|
jimmy
Senior Member
Joined: 11 November 2003 Location: Austria Status: Offline Points: 516 |
Post Options
Thanks(0)
Quote Reply
Posted: 06 August 2009 at 3:55am |
|
Hi,
Use And set the new hAccel. Jimmy |
|
![]() |
|
mgampi
Senior Member
Joined: 14 July 2003 Status: Offline Points: 1210 |
Post Options
Thanks(0)
Quote Reply
Posted: 06 August 2009 at 4:23am |
|
Ok;
have to be blind to oversee this function ![]() |
|
|
Martin Product: Xtreme Toolkit v 22.1.0, new Projects v 24.0.0 Platform: Windows 10 v 22H2 (64bit) Language: VC++ 2022 |
|
![]() |
|
rdhd
Senior Member
Joined: 13 August 2007 Location: United States Status: Offline Points: 951 |
Post Options
Thanks(0)
Quote Reply
Posted: 06 August 2009 at 4:02pm |
|
mgampi, Which part of my post are you interested in?
pFrameWnd->m_hAccelTable = hAccelMDI; |
|
![]() |
|
mgampi
Senior Member
Joined: 14 July 2003 Status: Offline Points: 1210 |
Post Options
Thanks(0)
Quote Reply
Posted: 07 August 2009 at 3:17am |
How to swap accel tables while stepping through different document types... |
|
|
Martin Product: Xtreme Toolkit v 22.1.0, new Projects v 24.0.0 Platform: Windows 10 v 22H2 (64bit) Language: VC++ 2022 |
|
![]() |
|
rdhd
Senior Member
Joined: 13 August 2007 Location: United States Status: Offline Points: 951 |
Post Options
Thanks(0)
Quote Reply
Posted: 10 August 2009 at 8:51am |
|
Simply load your table and set the m_hAccelTable of the frame window to the handle of the table you loaded. We don't have to do anything else for accelerators. We set the table before we build our command ribbon.
|
|
![]() |
|
Post Reply
|
|
|
Tweet
|
| Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |