|
|
/************************************************************************
* * * BTNSEC.CPP * * * * Copyright (C) Microsoft Corporation 1993-1995 * * All Rights reserved. * * * ************************************************************************/
#include "stdafx.h"
#include "resource.h"
#pragma hdrstop
#include "hpjdoc.h"
#include "btnsec.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CBtnSec dialog
CBtnSec::CBtnSec(WSMAG FAR* pCallersWsmag, BOOL fWarn, CWnd* pParent) : CDialog(CBtnSec::IDD, pParent) { pwsmag = pCallersWsmag; fBackWarn = fWarn;
ASSERT(pwsmag);
/*
* MFC doesn't think non-zero counts for a check box -- it must * explicitly set to TRUE or FASLE. */
m_chk_contents = (pwsmag->wMax & FWSMAG_WMAX_CONTENTS) ? TRUE : FALSE; m_chk_search = (pwsmag->wMax & FWSMAG_WMAX_SEARCH) ? TRUE : FALSE; m_chk_topics = (pwsmag->wMax & FWSMAG_WMAX_TOPICS) ? TRUE : FALSE; m_chk_back = (pwsmag->wMax & FWSMAG_WMAX_BACK) ? TRUE : FALSE; m_chk_print = (pwsmag->wMax & FWSMAG_WMAX_PRINT) ? TRUE : FALSE; m_chk_find = (pwsmag->wMax & FWSMAG_WMAX_FIND) ? TRUE : FALSE; m_chk_browse = (pwsmag->wMax & FWSMAG_WMAX_BROWSE) ? TRUE : FALSE;
/*
* Just in case the user tried editing these by hand, or some * other project editor screwed up, let's make sure we don't have * both Topics and Contents/Search. */
if (m_chk_topics) m_chk_contents = m_chk_search = FALSE;
//{{AFX_DATA_INIT(CBtnSec)
//}}AFX_DATA_INIT
}
void CBtnSec::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CBtnSec)
DDX_Check(pDX, IDC_CHECK_BTN_BACK, m_chk_back); DDX_Check(pDX, IDC_CHECK_BTN_CONTENTS, m_chk_contents); DDX_Check(pDX, IDC_CHECK_BTN_PRINT, m_chk_print); DDX_Check(pDX, IDC_CHECK_BTN_SEARCH, m_chk_search); DDX_Check(pDX, IDC_CHECK_BTN_TOPICS, m_chk_topics); DDX_Check(pDX, IDC_CHECK_BTN_FIND, m_chk_find); //}}AFX_DATA_MAP
if (!pDX->m_bSaveAndValidate) { // initialization
// Can't have both Topics and Contents/Search
if (m_chk_topics) { ((CButton*) GetDlgItem(IDC_CHECK_BTN_CONTENTS))-> EnableWindow(FALSE); ((CButton*) GetDlgItem(IDC_CHECK_BTN_SEARCH))-> EnableWindow(FALSE); } else if (m_chk_contents || m_chk_search) { ((CButton*) GetDlgItem(IDC_CHECK_BTN_TOPICS))-> EnableWindow(FALSE); }
SetChicagoDialogStyles(m_hWnd); } else {
// Remove all existing buttons
pwsmag->wMax &= ~(FWSMAG_WMAX_BROWSE | FWSMAG_WMAX_CONTENTS | FWSMAG_WMAX_SEARCH | FWSMAG_WMAX_TOPICS | FWSMAG_WMAX_PRINT | FWSMAG_WMAX_BACK | FWSMAG_WMAX_FIND);
// Add buttons according to checkboxes
if (m_chk_contents) pwsmag->wMax |= FWSMAG_WMAX_CONTENTS; if (m_chk_search) pwsmag->wMax |= FWSMAG_WMAX_SEARCH; if (m_chk_topics) pwsmag->wMax |= FWSMAG_WMAX_TOPICS; if (m_chk_print) pwsmag->wMax |= FWSMAG_WMAX_PRINT; if (m_chk_find) pwsmag->wMax |= FWSMAG_WMAX_FIND; if (m_chk_browse) pwsmag->wMax |= FWSMAG_WMAX_BROWSE;
if (m_chk_back) { pwsmag->wMax |= FWSMAG_WMAX_BACK; } } }
BEGIN_MESSAGE_MAP(CBtnSec, CDialog) //{{AFX_MSG_MAP(CBtnSec)
ON_BN_CLICKED(IDC_CHECK_BTN_CONTENTS, OnCheckBtnContents) ON_BN_CLICKED(IDC_CHECK_BTN_SEARCH, OnCheckBtnSearch) ON_BN_CLICKED(IDC_CHECK_BTN_TOPICS, OnCheckBtnTopics) //}}AFX_MSG_MAP
ON_MESSAGE(WM_CONTEXTMENU, OnContextMenu) ON_MESSAGE(WM_HELP, OnHelp) END_MESSAGE_MAP()
static const DWORD aHelpIds[] = { IDC_CHECK_BTN_CONTENTS, IDH_CHECK_BTN_CONTENTS, IDC_CHECK_BTN_SEARCH, IDH_CHECK_BTN_SEARCH, IDC_CHECK_BTN_TOPICS, IDH_CHECK_BTN_TOPICS, IDC_CHECK_BTN_PRINT, IDH_CHECK_BTN_PRINT, IDC_CHECK_BTN_BACK, IDH_CHECK_BTN_BACK, IDC_CHECK_BTN_FIND, IDH_CHECK_BTN_FIND,
0, 0 };
LRESULT CBtnSec::OnContextMenu(WPARAM wParam, LPARAM lParam) { ::WinHelp((HWND) wParam, AfxGetApp()->m_pszHelpFilePath, HELP_CONTEXTMENU, (DWORD) (LPVOID) aHelpIds); return 0; }
LRESULT CBtnSec::OnHelp(WPARAM wParam, LPARAM lParam) { ::WinHelp((HWND) ((LPHELPINFO) lParam)->hItemHandle, AfxGetApp()->m_pszHelpFilePath, HELP_WM_HELP, (DWORD) (LPVOID) aHelpIds); return 0; }
void CBtnSec::OnCheckBtnContents() { if (((CButton*) GetDlgItem(IDC_CHECK_BTN_CONTENTS))->GetCheck()) ((CButton*) GetDlgItem(IDC_CHECK_BTN_TOPICS))-> EnableWindow(FALSE); else ((CButton*) GetDlgItem(IDC_CHECK_BTN_TOPICS))-> EnableWindow(TRUE); }
void CBtnSec::OnCheckBtnSearch() { if (((CButton*) GetDlgItem(IDC_CHECK_BTN_SEARCH))->GetCheck()) ((CButton*) GetDlgItem(IDC_CHECK_BTN_TOPICS))-> EnableWindow(FALSE); else ((CButton*) GetDlgItem(IDC_CHECK_BTN_TOPICS))-> EnableWindow(TRUE); }
void CBtnSec::OnCheckBtnTopics() { if (((CButton*) GetDlgItem(IDC_CHECK_BTN_TOPICS))->GetCheck()) { ((CButton*) GetDlgItem(IDC_CHECK_BTN_CONTENTS))-> EnableWindow(FALSE); ((CButton*) GetDlgItem(IDC_CHECK_BTN_SEARCH))-> EnableWindow(FALSE); } else { ((CButton*) GetDlgItem(IDC_CHECK_BTN_CONTENTS))-> EnableWindow(TRUE); ((CButton*) GetDlgItem(IDC_CHECK_BTN_SEARCH))-> EnableWindow(TRUE); } }
|