在MFC中做了一个对话框,上有一进度条,我想在类外的一个普通函数中调用进度条控件,需要向其发送消息,但我不会。书上说还要在消息映射下加东西,如何“自己定义”类似WM_xxx这种东西呢。望各位高手指教。消息就是进度条加一。

解决方案 »

  1.   

    ::SendMessage(GetDlgItem(m_hWnd, nIDDlgItem), WM_YOURMESSAGE, WPARAM, LPARAM));
    其中,m_hWnd是对话框的句柄,nIDDlgItem是控件的ID
      

  2.   

    #define WM_MYMSG WM_APP+1
    afx_msg void OnMyMsg();
    void CMyDlg::OnMyMsg()
    {
    //
    }
      

  3.   

    没看清题,进度条参考代码如下:
    SendDlgItemMessage(iDDlgBar, WM_USER+2, (done*100)/all, 0);
    其中iDDlgBar是你的进度条ID,done是已经完成的,all是总数
      

  4.   

    #define UM_XXX WM_USER + ?::SendMessage (hwnd, UM_XXX, wParam, lParam); 
    or 
    ::PostMessage