void
JXTipOfTheDayDialog::Receive
	(
	JBroadcaster*	sender,
	const Message&	message
	)
{
	if (sender == itsNextTipButton && message.Is(JXButton::kPushed))
		{
		itsTipIndex++;
		if (!itsTipList->IndexValid(itsTipIndex))
			{
			itsTipIndex = 1;
			}
		DisplayTip();
		}

	else if (sender == itsCloseButton && message.Is(JXButton::kPushed))
		{
		if (itsShowAtStartupCB->IsVisible())
			{
			Broadcast(ShowAtStartup(itsShowAtStartupCB->IsChecked()));
			}
		Close();
		}

	else
		{
		JXDialogDirector::Receive(sender, message);
		}
}
INT_PTR CWinSysConfigDialog::DlgEventProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
	switch (nMsg)
	{
		case WM_INITDIALOG:
		{
			m_RollupContainer.Construct(hWnd, IDC_CUSTOM_ROLLUPCONTAINER);

			if (IS_TRUE(ShowAtStartup()))
			{
				CheckDlgButton(hWnd, IDC_CHECK_SHOWATSTARTUP, BST_CHECKED);
			}
			else
			{
				CheckDlgButton(hWnd, IDC_CHECK_SHOWATSTARTUP, BST_UNCHECKED);
			}

			SetDlgItemText(hWnd, IDC_NEVISTA_VERSION, TEXT(m_strVersion.ConstBuffer()));

			return true;
		}
		break;

		case WM_COMMAND:
		{
			switch (LOWORD(wParam))
			{
				case IDOK:
				{
					//-- Run
					EndDialog(hWnd, IDOK);

					return true;
				}
				break;

				case IDCANCEL:
				{
					//-- Don't run
					EndDialog(hWnd, IDCANCEL);

					return true;
				}
				break;

				case IDC_CHECK_SHOWATSTARTUP:
				{
					ChangeShowAtStartup(BST_CHECKED == IsDlgButtonChecked(hWnd, IDC_CHECK_SHOWATSTARTUP));
					return true;
				}
				break;
				
				default:
				break;
			}
		}
		break;

		default:
		break;
	};
	
	return false;
}