void CXPComboBox::OnLButtonDown(UINT nFlags, CPoint point) 
{
m_iOffset = 1;
SetTimer(3, 1000, NULL);
CComboBox::OnLButtonDown(nFlags, point);
}void CXPComboBox::OnLButtonUp(UINT nFlags, CPoint point) 
{
m_iOffset = 0;
CComboBox::OnLButtonUp(nFlags, point);
}void CXPComboBox::OnTimer(UINT nIDEvent) 
{
if (nIDEvent == 3)
{
m_iOffset = 0;
KillTimer(3);
Invalidate();
}
CComboBox::OnTimer(nIDEvent);
}
没做过VC,谁帮着看看呢?!

解决方案 »

  1.   

    //鼠标左键按下消息
    void CXPComboBox::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    m_iOffset = 1;               //赋值
    SetTimer(3, 1000, NULL);     //启动一个Timer,nIDEvent = 3,时间间隔为1秒
    CComboBox::OnLButtonDown(nFlags, point);
    }//鼠标左键弹起消息
    void CXPComboBox::OnLButtonUp(UINT nFlags, CPoint point) 
    {
    m_iOffset = 0;                         //赋值
    CComboBox::OnLButtonUp(nFlags, point);
    }//计时器
    void CXPComboBox::OnTimer(UINT nIDEvent) 
    {
    if (nIDEvent == 3)
    {
    m_iOffset = 0;     //赋值
    KillTimer(3);      //结束一个nIDEvent = 3的Timer
    Invalidate();      //刷新窗体
    }
    CComboBox::OnTimer(nIDEvent);
    }
      

  2.   

    这段代码的意思就是:
    当左键按下的时候,将m_iOffset赋值为1;
    当左键抬起或者3秒钟后,再将m_iOffset赋值为0。
      

  3.   

    当左键按下的时候,将m_iOffset赋值为1;
    当左键抬起或者1秒钟后,再将m_iOffset赋值为0。
      

  4.   

    另外,再请教个问题:
    VC里是怎么调用chm的
    程序中
    ShellExecute(this->GetSafeHwnd(),"open",helpFile,NULL, NULL, SW_SHOWNORMAL);怎么不行。
    还要做什么工作吗?
      

  5.   

    Winexec("c:\windows\hh.exe YourChmFileName.chm",SW_SHOW);
    调用hh.exe来显示。注意空格
      

  6.   

    Winexec("c:\windows\hh.exe YourChmFileName.chm",SW_SHOW);
    调用hh.exe来显示。注意空格