| | |
| | | #include "BoounionPLC.h" |
| | | #include "BoounionPLCDlg.h" |
| | | #include "afxdialogex.h" |
| | | #include "Common.h" |
| | | |
| | | #ifdef _DEBUG |
| | | #define new DEBUG_NEW |
| | |
| | | : CDialogEx(IDD_BOOUNIONPLC_DIALOG, pParent) |
| | | { |
| | | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); |
| | | m_pTopToolbar = nullptr; |
| | | m_crBkgnd = APP_MAIN_DLG_BACKGROUND; |
| | | m_hbrBkgnd = nullptr; |
| | | } |
| | | |
| | | void CBoounionPLCDlg::DoDataExchange(CDataExchange* pDX) |
| | |
| | | ON_WM_SYSCOMMAND() |
| | | ON_WM_PAINT() |
| | | ON_WM_QUERYDRAGICON() |
| | | ON_WM_DESTROY() |
| | | ON_WM_SIZE() |
| | | ON_WM_CTLCOLOR() |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | |
| | | SetIcon(m_hIcon, TRUE); // 设置大图标 |
| | | SetIcon(m_hIcon, FALSE); // 设置小图标 |
| | | |
| | | // TODO: 在此添加额外的初始化代码 |
| | | |
| | | // toolbar |
| | | m_pTopToolbar = new CTopToolbar(); |
| | | m_pTopToolbar->Create(IDD_TOP_TOOLBAR, this); |
| | | m_pTopToolbar->ShowWindow(SW_SHOW); |
| | | HMENU hMenu = m_pTopToolbar->GetOperatorMenu(); |
| | | ASSERT(hMenu); |
| | | ::EnableMenuItem(hMenu, ID_OPEATOR_SWITCH, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); |
| | | |
| | | |
| | | // page plc list |
| | | m_pPagePlcList = new CPagePlcList(); |
| | | m_pPagePlcList->Create(IDD_PAGE_PLC_LIST, this); |
| | | m_pPagePlcList->ShowWindow(SW_SHOW); |
| | | |
| | | |
| | | ShowWindow(SW_MAXIMIZE); |
| | | Resize(); |
| | | |
| | | |
| | | return TRUE; // 除非将焦点设置到控件,否则返回 TRUE |
| | | } |
| | |
| | | return static_cast<HCURSOR>(m_hIcon); |
| | | } |
| | | |
| | | |
| | | void CBoounionPLCDlg::OnDestroy() |
| | | { |
| | | CDialogEx::OnDestroy(); |
| | | |
| | | if (m_pTopToolbar != nullptr) { |
| | | m_pTopToolbar->DestroyWindow(); |
| | | delete m_pTopToolbar; |
| | | m_pTopToolbar = nullptr; |
| | | } |
| | | |
| | | if (m_pPagePlcList != nullptr) { |
| | | m_pPagePlcList->DestroyWindow(); |
| | | delete m_pPagePlcList; |
| | | m_pPagePlcList = nullptr; |
| | | } |
| | | |
| | | if (m_hbrBkgnd != nullptr) { |
| | | ::DeleteObject(m_hbrBkgnd); |
| | | m_hbrBkgnd = nullptr; |
| | | } |
| | | } |
| | | |
| | | |
| | | void CBoounionPLCDlg::OnSize(UINT nType, int cx, int cy) |
| | | { |
| | | CDialogEx::OnSize(nType, cx, cy); |
| | | if (m_pTopToolbar == nullptr || !::IsWindow(m_pTopToolbar->m_hWnd)) return; |
| | | |
| | | Resize(); |
| | | } |
| | | |
| | | #define TOOLBAR_HEIGHT 78 |
| | | #define PAGE_PLC_LIST_WIDTH 218 |
| | | void CBoounionPLCDlg::Resize() |
| | | { |
| | | CRect rcClient, rcItem; |
| | | GetClientRect(&rcClient); |
| | | |
| | | int y = 0; |
| | | m_pTopToolbar->MoveWindow(0, 0, rcClient.Width(), TOOLBAR_HEIGHT); |
| | | y += TOOLBAR_HEIGHT; |
| | | |
| | | m_pPagePlcList->MoveWindow(0, y, PAGE_PLC_LIST_WIDTH, rcClient.Height() - y - 2); |
| | | } |
| | | |
| | | |
| | | HBRUSH CBoounionPLCDlg::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; |
| | | } |