Using Upper/Lowercase Shortcut Keys for Property Pages

This is a update from the article 'Using Shortcut Keys for Property Pages' from Zafir Anjum. The article only handled Uppercase shortcuts, here is one that handle both upper and lowercase shortcut keys.


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!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • In this highly valued report, you'll learn the results of "The Forrester Wave™: Hybrid Integration For Enterprises, Q4 2016" extensive research of the top Hybrid Integration Solutions, including each product's overall ranking, specific capabilities and strengths and weaknesses.

  • Research results provide insight into current DevOps security practices at both large and mid-sized enterprises, and highlight multiple gaps that still exist between the opportunity to have security as a natural part of DevOps and the reality of current implementations.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date