Using Upper/Lowercase Shortcut Keys for Property Pages
Posted
by Anatoly Ivasyuk
on April 4th, 1999
You need to implement the following procedure to do the work:
BOOL CBasePropertySheet::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_SYSKEYDOWN && pMsg->wParam > 32 )
{
CTabCtrl *pTab = GetTabControl();
int n = pTab->GetItemCount();
TCHAR buf[80], shortcut1[3], shortcut2[3];
TC_ITEM tcItem;
tcItem.mask = TCIF_TEXT;
tcItem.pszText = buf;
shortcut2[0] = shortcut1[0] = _T('&');
shortcut2[2] = shortcut1[2] = _T('\0');
for( int i = 0; i < n; i++ )
{
tcItem.cchTextMax = 79;
pTab->GetItem( i, &tcItem );
shortcut1[1] = _totupper((TCHAR) pMsg->wParam);
shortcut2[1] = _totlower((TCHAR) pMsg->wParam);
if( _tcsstr( buf, shortcut1 ) || _tcsstr( buf, shortcut2 ) )
{
SetActivePage( i );
return TRUE;
}
}
}
return CPropertySheet::PreTranslateMessage(pMsg);
}
Date Posted: 08/13/98

Comments
There are no comments yet. Be the first to comment!