configfilterpage.h

来自「一个管理ie的软件」· C头文件 代码 · 共 187 行

H
187
字号
// ConfigFilterPage.h : interface of the CConfigFilterPage class
//
/////////////////////////////////////////////////////////////////////////////

#ifndef __ConfigFilterPage_h__
#define __ConfigFilterPage_h__

class CConfigFilterPage : public CPropertyPageImpl<CConfigFilterPage>
{
public:
	enum { IDD = IDD_CONFIG_FILTER };

	DWORD			m_dwFilterSettings;
	long			m_lWindowSizeThreshold;
	long			m_lScreenSize;

	CButton			m_btnBySize;
	CButton			m_btnByTitle;
	CButton			m_btnByUrl;
	CButton			m_btnStatusBar;
	CButton			m_btnContextMenu;
	CButton			m_btnOnunload;
	CButton			m_btnFlash;
	CButton			m_btnTimer;

	CTrackBarCtrl	m_PopupSizeSlider;

	BEGIN_MSG_MAP(CConfigFilterPage)
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
		MESSAGE_HANDLER(WM_HSCROLL, OnHScroll)
		COMMAND_HANDLER(IDC_BY_SIZE, BN_CLICKED, OnClickedBySize)
		COMMAND_HANDLER(IDC_BY_TITLE, BN_CLICKED, OnClickedByTitle)
		COMMAND_HANDLER(IDC_BY_URL, BN_CLICKED, OnClickedByUrl)
		COMMAND_HANDLER(IDC_STATUS_BAR, BN_CLICKED, OnClickedStatusBar)
		COMMAND_HANDLER(IDC_CONTEXT_MENU, BN_CLICKED, OnClickedContextMenu)
		COMMAND_HANDLER(IDC_ONUNLOAD, BN_CLICKED, OnClickedOnunload)
		COMMAND_HANDLER(IDC_FLASH, BN_CLICKED, OnClickedFlash)
		COMMAND_HANDLER(IDC_TIMER, BN_CLICKED, OnClickedTimer)
		CHAIN_MSG_MAP(CPropertyPageImpl<CConfigFilterPage>)
	END_MSG_MAP()

	LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
	{
		m_lScreenSize = GetSystemMetrics(SM_CXSCREEN) * GetSystemMetrics(SM_CYSCREEN);

		m_btnBySize.Attach(GetDlgItem(IDC_BY_SIZE));
		m_btnByTitle.Attach(GetDlgItem(IDC_BY_TITLE));
		m_btnByUrl.Attach(GetDlgItem(IDC_BY_URL));
		m_btnStatusBar.Attach(GetDlgItem(IDC_STATUS_BAR));
		m_btnContextMenu.Attach(GetDlgItem(IDC_CONTEXT_MENU));
		m_btnOnunload.Attach(GetDlgItem(IDC_ONUNLOAD));
		m_btnFlash.Attach(GetDlgItem(IDC_FLASH));
		m_btnTimer.Attach(GetDlgItem(IDC_TIMER));

		m_btnBySize.SetCheck((m_dwFilterSettings & REMOVE_POPUP_BY_SIZE) ? 1 : 0);
		m_btnByTitle.SetCheck((m_dwFilterSettings & REMOVE_POPUP_BY_TITLE) ? 1 : 0);
		m_btnByUrl.SetCheck((m_dwFilterSettings & REMOVE_POPUP_BY_URL) ? 1 : 0);
		m_btnStatusBar.SetCheck((m_dwFilterSettings & REMOVE_STATUS_MODIFIER) ? 1 : 0);
		m_btnContextMenu.SetCheck((m_dwFilterSettings & REMOVE_ONCONTEXTMENU) ? 1 : 0);
		m_btnOnunload.SetCheck((m_dwFilterSettings & REMOVE_ONUNLOAD) ? 1 : 0);
		m_btnFlash.SetCheck((m_dwFilterSettings & REMOVE_FLASH) ? 1 : 0);
		m_btnTimer.SetCheck((m_dwFilterSettings & REMOVE_TIMER) ? 1 : 0);

		m_PopupSizeSlider.Attach(GetDlgItem(IDC_POPUP_SIZE));
		m_PopupSizeSlider.SetRange(0, POPUP_SIZE_RANGE);
		m_PopupSizeSlider.SetPos(
			(m_lWindowSizeThreshold * POPUP_SIZE_RANGE) / m_lScreenSize);
		m_PopupSizeSlider.EnableWindow((m_dwFilterSettings & REMOVE_POPUP_BY_SIZE) != 0);
		return TRUE;
	}

	LRESULT OnHScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
	{
		m_lWindowSizeThreshold = 
			(m_PopupSizeSlider.GetPos() * m_lScreenSize) / POPUP_SIZE_RANGE;
		return 0;
	}

	LRESULT OnClickedBySize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnBySize.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_POPUP_BY_SIZE;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_POPUP_BY_SIZE;
		}
		m_PopupSizeSlider.EnableWindow((m_dwFilterSettings & REMOVE_POPUP_BY_SIZE) != 0);
		return 0;
	}

	LRESULT OnClickedByTitle(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnByTitle.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_POPUP_BY_TITLE;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_POPUP_BY_TITLE;
		}
		return 0;
	}

	LRESULT OnClickedByUrl(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnByUrl.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_POPUP_BY_URL;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_POPUP_BY_URL;
		}
		return 0;
	}

	LRESULT OnClickedStatusBar(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnStatusBar.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_STATUS_MODIFIER;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_STATUS_MODIFIER;
		}
		return 0;
	}

	LRESULT OnClickedContextMenu(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnContextMenu.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_ONCONTEXTMENU;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_ONCONTEXTMENU;
		}
		return 0;
	}

	LRESULT OnClickedOnunload(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnOnunload.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_ONUNLOAD;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_ONUNLOAD;
		}
		return 0;
	}

	LRESULT OnClickedFlash(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnFlash.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_FLASH;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_FLASH;
		}
		return 0;
	}

	LRESULT OnClickedTimer(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		if (m_btnTimer.GetCheck())
		{
			m_dwFilterSettings |= REMOVE_TIMER;
		}
		else
		{
			m_dwFilterSettings &= ~REMOVE_TIMER;
		}
		return 0;
	}
};


#endif //__ConfigFilterPage_h__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?