windows-nt/Source/XPSP1/NT/sdktools/debuggers/excepmon/emshell/msinfodlg.cpp
2020-09-26 16:20:57 +08:00

96 lines
2.1 KiB
C++

// MSInfoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "emshell.h"
#include "MSInfoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMSInfoDlg dialog
CMSInfoDlg::CMSInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMSInfoDlg::IDD, pParent)
{
#ifdef _DEBUG
m_csCategories = _T("/CATEGORIES: +componentsNetadapter+componentsports+componentsstorage+componentsprinting");
#else
m_csCategories = _T("/CATEGORIES: +all");
#endif
m_bShow = false;
//{{AFX_DATA_INIT(CMSInfoDlg)
m_bDlgNoShow = FALSE;
//}}AFX_DATA_INIT
}
void CMSInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMSInfoDlg)
DDX_Control(pDX, IDC_CHECK_NFODIALOG_NOSHOW, m_ctrlDlgNoShow);
DDX_Control(pDX, IDC_STATIC_DEMARK, m_ctlStaticDemark);
DDX_Text(pDX, IDC_EDIT_CATEGORIES, m_csCategories);
DDX_Check(pDX, IDC_CHECK_NFODIALOG_NOSHOW, m_bDlgNoShow);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMSInfoDlg, CDialog)
//{{AFX_MSG_MAP(CMSInfoDlg)
ON_BN_CLICKED(IDC_OPTIONS, OnOptions)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMSInfoDlg message handlers
BOOL CMSInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
ShowOptions( m_bShow ); // false
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMSInfoDlg::OnOptions()
{
// TODO: Add your control notification handler code here
ShowOptions( (m_bShow = !m_bShow) );
}
void CMSInfoDlg::ShowOptions(bool bShow)
{
RECT rtShowDlgCheckBox,
rtDemark,
rtDlg;
(*this).GetWindowRect( &rtDlg );
m_ctrlDlgNoShow.GetWindowRect( &rtShowDlgCheckBox );
m_ctlStaticDemark.GetWindowRect( &rtDemark );
if( bShow ) {
rtDlg.bottom = rtShowDlgCheckBox.bottom + 12;
}
else {
rtDlg.bottom = rtDemark.top;
}
(*this).MoveWindow( &rtDlg );
}