With skinning enabled, the scroll wheel is not scrolling the window the cursor is hovering over. To scroll the desired window, it must be clicked in first. If skinning is disabled, the scrolling works as expected.
Matt... I ran into this problem, also. I'm using the mouse wheel to set Alarms and Timers. It was necessary to click in AlarmClock's window after making it active. I believe this will be confusing to the user, so I developed a fix that has proven reliable (2 weeks test time so far).
void CPanel::OnMouseMove(UINT nFlags, CPoint point)
{
if (GetActiveWindow() == AfxGetMainWnd() && GetFocus() != pAlarmClockDlg)
if (pAlarmClockDlg->alarmClockShowing())
pAlarmClockDlg->SetFocus();
mouseMove(nFlags, point);
}
CPanel is derived from CStatic. The plug-in client area is fully covered by a number of CPanels.
You probably have easy ways to determine what child window is active, but this is how I set the status of pACD->alarmClockShowing() from within the plug-in:
void CAlarmClockDlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
if (bShow)
{
SetFocus();
mAlarmClockShowing = true;
}
else
mAlarmClockShowing = false;
}
(unrelated code removed for clarity, including initialization during MC startup)