I produce a custom database application, that has some windows with lots of tabs /
CPropertyPages within them. My customer wanted a way to quickly and easily change the
selected tab, without using the mouse. He said "In the old DOS version we
changed the current window using Page-Up and Page-Down....". Ahh those were the days!
So what the customer wants, the customer gets, and here is the result : Page-Up /
Page-Down will select the next / previous tab. It's so easy, it's simple...
Basically sub-class your CPropertySheet. Then using the class wizard, create the
PreTranslateMessage() function, and insert the text below...
if (pMsg->message == WM_KEYUP && pMsg->wParam == VK_NEXT)
{
if(GetPageCount() > 1) {
if(GetActiveIndex() == 0) SetActivePage(GetPageCount() - 1);
else
SetActivePage(GetActiveIndex() - 1); }
}
if (pMsg->message == WM_KEYUP && pMsg->wParam == VK_PRIOR)
{
if(GetPageCount() > 1) {
if(GetActiveIndex() == (GetPageCount() - 1)) SetActivePage(0);
else
SetActivePage(GetActiveIndex() + 1); }
}
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here