您的位置:首页 > 其它

MFC中Spin Control控件使用,同时数据在Edit Control中显示

2013-11-14 09:40 579 查看
实现mfc spin control 上下滚动,只需捕捉spin
control 的 UDN_DELTAPOD 消息,如下:

 OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)

{

 LPNMUPDOWN pNMUpDown = reinterpret_cast(pNMHDR);

 // TODO: 在此添加控件通知处理程序代码

   if(pNMUpDown-> iDelta == 1) // 如果此值为1
, 说明点击了Spin的往下箭头 

   {  

          //增加编辑框中的数字值 

      } 

   else if(pNMUpDown-> iDelta == -1) // 如果此值为-1 , 说明点击了Spin的往上箭头 

      { 

          / /减少编辑框中的数字值 

      }

}

 

实现具体步骤如下:

1、首先新建一个Dialog窗口,在新建窗口中右击鼠标,添加类,如:CKoreaHc。

2、然后通过工具箱把Spin Control控件、Edit
Control控件分别拖拽到Dialog窗口中,双击Spin
Control控件即可在CKoreaHc.cpp中生成如下几段相应代码。

(1)

BEGIN_MESSAGE_MAP(CKoreaHc, CDialog)

    ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN1,
&CKoreaHc::OnDeltaposSpin1)

END_MESSAGE_MAP()

 

(2)

void CKoreaHc::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)

{

    LPNMUPDOWN pNMUpDown = reinterpret_cast<<SPAN
style="COLOR: black">LPNMUPDOWN>(pNMHDR);

    // TODO: 在此添加控件通知处理程序代码

    *pResult = 0;

}

3、在CKoreaHc.h和CKoreaHc.cpp中分别添加相应程序处理代码

(1) //CKoreaHc.h中对byTxOutsideTempData进行定义声明

BYTE m_byTxOutsideTempData;

 

(2)//CKoreaHc.cpp中

CKoreaHc::CKoreaHc(CWnd* pParent )

    : CDialog(CKoreaHc::IDD, pParent)

{

    m_byTxOutsideTempData = 0x7E;   //发送数据

}

(3)//CKoreaHc.cpp中

void CKoreaHc::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)

{

    LPNMUPDOWN pNMUpDown = reinterpret_cast<<SPAN
style="COLOR: black">LPNMUPDOWN>(pNMHDR);

    // TODO: 在此添加控件通知处理程序代码

    if(pNMUpDown->iDelta ==
-1)  // 如果此值为-1
, 说明点击了Spin的往上箭头

    {

        m_byTxOutsideTempData++;

    }

    else if(pNMUpDown->iDelta ==
1)  // 如果此值为, 说明点击了Spin的往下箭头

    {

        m_byTxOutsideTempData--;

    }

    CString ss;

    ss.Format(_T("  %d
"), (m_byTxOutsideTempData & 0x 7F)-40);

    GetDlgItem(IDC_EDIT_OUTTEMP_HC)->SetWindowText(ss);   //EDIT控件显示数据

    *pResult = 0;

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: