Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » change accelerator text in customize form Collapse All
Subject Author Date
Stephan Finkler Mar 15, 2005 - 11:04 AM

Setting an accelerator in the customize form makes a call to
CExtCustomizePageKeyboard::OnAccelAssign().

There is a call to "pSite->OnFormatCmdAccelText(_cmdKeyInfo)"
where I can change the accelerator text. In OnFormatCmdAccelText
I have to know the last _cmdKeyInfo of this CmdID, because
when the cmdKeyInfo has changed I have to set a new text.

Is there an easy way to get this information.

Thanks for any advice.

Technical Support Mar 16, 2005 - 3:22 AM

Thank you for the interesting question! At present, we cannot find an easy way to solve your task. The problem is hidden in the internal structure of CExtCustomizeSite class which stores key combinations in the CExtCustomizeSize::CMapKey2Cmd object. The latter is the map which uses a key code as a map key and a command identifier as a key value. There is no place in this design to save the last assigned command key combination, i.e. no priority nor any time stamp is supported for a particular key combination of a command. We supposed that all the key combinations for a command have equal priorities and there are no reason to remember a particular of them as the last. Besides, we need to change the serialization algorithm of the customize site and make it remember key time stamps or priorities. Please let us know whether this task is critical for you?

Stephan Finkler Mar 16, 2005 - 3:40 AM

>Besides, we need to change the serialization algorithm of the customize site and >make it remember key time stamps or priorities

Thats my problem too. So I decided to use your technique to assign a accelerator.
(May be a virtual function call to CExtCustomizeSite in OnAccelAssign() with CCmdKeyInfos in following releases would be nice)

Thanks for your help

Technical Support Mar 16, 2005 - 9:13 AM

Thank you for your suggestion. Anyway, sometime in the future we will rewrite the accelerator support code for the customize site because Prof-UIS still does not support multiple key accelerator combinations (e.g., Ctrl+K,K as an accelerator of a particular command) which cannot be now implemented by using Win32 HACCEL accelerator table handles.