// PagePlcList.cpp : ʵÏÖÎļþ // #include "stdafx.h" #include "BoounionPLC.h" #include "PagePlcList.h" #include "afxdialogex.h" #include "Common.h" // CPagePlcList ¶Ô»°¿ò IMPLEMENT_DYNAMIC(CPagePlcList, CDialogEx) CPagePlcList::CPagePlcList(CWnd* pParent /*=NULL*/) : CDialogEx(IDD_PAGE_PLC_LIST, pParent) { m_crBkgnd = PAGE_PLC_LIST_BACKGROUND; m_hbrBkgnd = nullptr; } CPagePlcList::~CPagePlcList() { } void CPagePlcList::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_TREE1, m_treeCtrl); } BEGIN_MESSAGE_MAP(CPagePlcList, CDialogEx) ON_WM_CTLCOLOR() ON_WM_DESTROY() ON_WM_SIZE() END_MESSAGE_MAP() // CPagePlcList ÏûÏ¢´¦Àí³ÌÐò BOOL CPagePlcList::OnInitDialog() { CDialogEx::OnInitDialog(); m_treeCtrl.SetBkColor(PAGE_PLC_LIST_BACKGROUND); m_treeCtrl.SetItemHeight(50); ReadPLCList(); return TRUE; // return TRUE unless you set the focus to a control // Òì³£: OCX ÊôÐÔÒ³Ó¦·µ»Ø FALSE } HBRUSH CPagePlcList::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); if (nCtlColor == CTLCOLOR_STATIC) { pDC->SetBkColor(m_crBkgnd); } if (m_hbrBkgnd == nullptr) { m_hbrBkgnd = CreateSolidBrush(m_crBkgnd); } return m_hbrBkgnd; } void CPagePlcList::OnDestroy() { CDialogEx::OnDestroy(); // TODO: ÔÚ´Ë´¦Ìí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂë } void CPagePlcList::OnSize(UINT nType, int cx, int cy) { CDialogEx::OnSize(nType, cx, cy); if (GetDlgItem(IDC_TREE1) == nullptr) return; CRect rcClient; GetClientRect(&rcClient); GetDlgItem(IDC_TREE1)->MoveWindow(12, 12, rcClient.Width() - 24, rcClient.Height() - 24); GetDlgItem(IDC_TOOLBAR_LINE1)->MoveWindow(rcClient.right - 3, 0, 2, rcClient.Height()); GetDlgItem(IDC_TOOLBAR_LINE1)->Invalidate(); } void CPagePlcList::ReadPLCList() { m_treeCtrl.InsertItem("PLC1", nullptr, nullptr); m_treeCtrl.InsertItem("PLC2", nullptr, nullptr); }