Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

191 lines
5.2 KiB

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