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);
}
}