Using Shortcut Keys for Property Pages
Posted
by Zafir Anjum
on August 6th, 1998
Step 1: Assign shortcut keys to property pages
Open up each of the property page resource in the resource editor and update the caption by adding an ampersand before the character that is to be the shortcut key. The shortcut key will appear underlined in the property sheet tab.Step 2: Override OnPreTranslateMessage
Override the OnPreTranslateMessage() function and add the code shown below. The logic used is fairly simple. If a system key ( an alt key combination ) is pressed, all the tab items are searched for this key. If one is found then the associated page is activated. Note that the call to the base class version of this function is at the bottom. Therefore, if a page and a control in the active page have the same shortcut key, the page wins.
BOOL CModalShapePropSheet::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_SYSKEYDOWN && pMsg->wParam > 32 )
{
CTabCtrl *pTab = GetTabControl();
int n = pTab->GetItemCount();
TCHAR buf[80], shortcut[3];
TC_ITEM tcItem;
tcItem.mask = TCIF_TEXT;
tcItem.pszText = buf;
shortcut[0] = _T('&');
shortcut[2] = _T('\0');
for( int i = 0; i < n; i++ )
{
tcItem.cchTextMax = 79;
pTab->GetItem( i, &tcItem );
shortcut[1] = (TCHAR) pMsg->wParam;
if( _tcsstr( buf, shortcut ) )
{
SetActivePage( i );
return TRUE;
}
}
}
return CPropertySheet::PreTranslateMessage(pMsg);
}

Comments
lower case shortcuts
Posted by Legacy on 12/07/1999 12:00amOriginally posted by: Rolf Behrens
ReplyHelp on PropertySheet.
Posted by Legacy on 10/18/1999 12:00amOriginally posted by: pabitra kumar dash
Hi,
I created a propertysheet in which I am able to add
two property pages. When a third property page added into
it, my application behaves abnormally. Can I know what will
be the problem in it?
Please help.
Regards,
Replypabitra
How do I add an index to my property page
Posted by Legacy on 05/13/1999 12:00amOriginally posted by: dominic
I'm just a beginner so hopefully someone can help me
I would like my tools button to display the property page when it's press.
ReplyI have attached a variable=page number/index to that button and if it's press,
the function SetActivePage(index) will execute. Now I don't know how to add an index to my property page. Can anyone help?