1。用Push-like的Check button;
2。或者用Owner-draw,自己来画。

解决方案 »

  1.   

    azuo_lee() :你误会我的意思了, 用Push-like的Check button     的话,我松开鼠标,它的状态还是被按下去的样子,我的按钮要这样:    当按下去的时候,就执行代码而不是要等待 鼠标松开才执行代码!大侠,救救我啊
      

  2.   

    响应LButtonDown.
    SetCapture...
    SetTimer...
    NO LbuttonUp MSg & Ontimer 
    run handle code...
    ...
      

  3.   

    不是有WM_KEYDOWN消息么,重载啊
      

  4.   

    重载PreTransMessage(), 拦接按键或左键消息
      

  5.   

    自己定义一个基于CButton的类
    重载OnLButtonDown,在里面执行你的代码
    如果需要重复执行直到按钮松开,则可检测UP消息
    void CMyButton::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default

    CButton::OnLButtonDown(nFlags, point); while( !PeekMessage( &mess, hWnd, WM_LBUTTONUP, WM_LBUTTONUP, PM_REMOVE ) )
    {
    TranslateMessage(&mess);// Translates virtual key codes
    DispatchMessage(&mess); // Dispatches message to window
    Fun();//你的函数,可以用SendMessage()的方式调用主进程函数
    } SendMessage( WM_LBUTTONUP );
    }