HOWTO: Multiple accelerator tables |
Post Reply |
Author | |
mgampi
Senior Member Joined: 14 July 2003 Status: Offline Points: 1201 |
Post Options
Thanks(0)
Posted: 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
Admin Group Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
Post Options
Thanks(0)
|
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: 1201 |
Post Options
Thanks(0)
|
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: 891 |
Post Options
Thanks(0)
|
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: 1201 |
Post Options
Thanks(0)
|
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)
|
Hi,
Use And set the new hAccel. Jimmy |
|
mgampi
Senior Member Joined: 14 July 2003 Status: Offline Points: 1201 |
Post Options
Thanks(0)
|
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: 891 |
Post Options
Thanks(0)
|
mgampi, Which part of my post are you interested in?
pFrameWnd->m_hAccelTable = hAccelMDI; |
|
mgampi
Senior Member Joined: 14 July 2003 Status: Offline Points: 1201 |
Post Options
Thanks(0)
|
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: 891 |
Post Options
Thanks(0)
|
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 |