chenluhua1980
2025-12-11 260b30211b44fea725a5a6fb5d72c1d0581eccbb
1.状态栏实时显示CIM连接状态;
已修改4个文件
36 ■■■■ 文件已修改
SourceCode/Bond/Servo/CMyStatusbar.cpp 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMyStatusbar.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Common.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/ServoDlg.cpp 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CMyStatusbar.cpp
@@ -80,6 +80,24 @@
    SetDlgItemText(IDC_BUTTON_CIM, pszText);
}
void CMyStatusbar::setCurTaskBtnColors(COLORREF face, COLORREF frame, COLORREF text)
{
    m_btnCurTask.SetFaceColor(face);
    m_btnCurTask.SetFrameColor(frame);
    m_btnCurTask.SetTextColor(text);
    Invalidate();
    UpdateWindow();
}
void CMyStatusbar::setCimBtnColors(COLORREF face, COLORREF frame, COLORREF text)
{
    m_btnCim.SetFaceColor(face);
    m_btnCim.SetFrameColor(frame);
    m_btnCim.SetTextColor(text);
    Invalidate();
    UpdateWindow();
}
BOOL CMyStatusbar::OnInitDialog()
{
    CDialogEx::OnInitDialog();
@@ -91,12 +109,14 @@
    m_btnCurTask.SetFrameColor(m_crBkgnd);
    m_btnCurTask.SetFrameColor(BS_HOVER, RGB(218, 218, 218));
    m_btnCurTask.SetFrameColor(BS_PRESS, RGB(168, 168, 168));
    m_btnCurTask.SetTextColor(m_crForeground);
    m_btnCim.SubclassDlgItem(IDC_BUTTON_CIM, this);
    m_btnCim.SetFaceColor(m_crBkgnd);
    m_btnCim.SetFrameColor(m_crBkgnd);
    m_btnCim.SetFrameColor(BS_HOVER, RGB(218, 218, 218));
    m_btnCim.SetFrameColor(BS_PRESS, RGB(168, 168, 168));
    m_btnCim.SetTextColor(m_crForeground);
    return TRUE;  // return TRUE unless you set the focus to a control
                  // 异常: OCX 属性页应返回 FALSE
SourceCode/Bond/Servo/CMyStatusbar.h
@@ -22,6 +22,8 @@
    void setRunTimeText(const char* pszText);
    void setCurTaskBtnText(const char* pszText);
    void setCimBtnText(const char* pszText);
    void setCurTaskBtnColors(COLORREF face, COLORREF frame, COLORREF text);
    void setCimBtnColors(COLORREF face, COLORREF frame, COLORREF text);
private:
    void Resize();
SourceCode/Bond/Servo/Common.h
@@ -46,6 +46,8 @@
#define STATUSBAR_BK_STARTING                RGB(58, 127, 78)
#define STATUSBAR_BK_RUNNING                RGB(34, 177, 76)
#define STATUSBAR_BK_ALARM                    RGB(255, 127, 39)
#define CIM_STATUS_BK_SELECTED                STATUSBAR_BK_RUNNING
#define CIM_STATUS_BK_DISCONNECTED            STATUSBAR_BK_NORMAL
/* LOG BTN */
#define BTN_LOG_FRAME_NORMAL            RGB(88, 88, 88)
SourceCode/Bond/Servo/ServoDlg.cpp
@@ -306,18 +306,18 @@
                if (STATE::NOT_CONNECTED == state) {
                    m_pMyStatusbar->setCimBtnText("Disconnected");
                    //m_labelPassiveState.setBackground(DISCONNECTED_BACKGROUND);
                    //m_labelPassiveState.setForeground(DISCONNECTED_FOREGROUND, TRUE);
                    m_pMyStatusbar->setCimBtnColors(
                        CIM_STATUS_BK_DISCONNECTED, CIM_STATUS_BK_DISCONNECTED, RGB(0, 0, 0));
                }
                else if (STATE::NOT_SELECTED == state) {
                    m_pMyStatusbar->setCimBtnText("Not Selected");
                    //m_labelPassiveState.setBackground(NOT_SELECTED_BACKGROUND);
                    //m_labelPassiveState.setForeground(NOT_SELECTED_FOREGROUND, TRUE);
                    m_pMyStatusbar->setCimBtnColors(
                        CIM_STATUS_BK_DISCONNECTED, CIM_STATUS_BK_DISCONNECTED, RGB(0, 0, 0));
                }
                else if (STATE::SELECTED == state) {
                    m_pMyStatusbar->setCimBtnText("Selected");
                    //m_labelPassiveState.setBackground(SELECTED_BACKGROUND);
                    //m_labelPassiveState.setForeground(SELECTED_FOREGROUND, TRUE);
                    m_pMyStatusbar->setCimBtnColors(
                        CIM_STATUS_BK_SELECTED, CIM_STATUS_BK_SELECTED, RGB(0, 0, 0));
                }
            }
            pAny->release();