搞了半天也没整出来!特请增援 !!!

解决方案 »

  1.   

    自己用gdi画一个嘛 反正windows里面所有窗体都是画出来的
      

  2.   

    换个思路吧:
    默认此按钮存在,并且使用showwindow(hwnd,sw_hide)将窗口隐藏掉,需要时再使用showwindow(hwnd,sw_show)显示出来。
      

  3.   

    为什么不让使用createwindow api。
      

  4.   

    在WndProc中
    case WM_PAINT:
         HDC = BeginPaint(hwnd,&paintstruct);
         Rectangle(HDC,rectofButton);
         EndPaint(hwnd,&paintstruct);
    break;
    case WN_MOUSEMOVE:
         if(PtInRect(rectofButton,pointofmouse))
         {
           HDC = GetDC(hwnd);
           //绘制当鼠标移动到按钮上的效果
           ReleaseDC(hwnd,HDC);
          }
    break;
    case WM_LBUTTONDOWN:
         if(PtInRect(rectofButton,pointofmouse))
         {//按钮被点击了
           PostMessage(hwnd,WM_COMMAND,MAKEWORD(IDOFBUTTON,BN_CLICKED),0);
         }
    break;
         
      

  5.   

    这样的方法,使得楼主可以用GDI自己绘制一个按钮,当鼠标移动时,判断鼠标的位置是否在按钮上,可以绘制相应的效果,
    当鼠标左键按下时,如果是在按钮上按下的,就因为按钮已经被点击了,发送按钮点击消息到父窗口全程没有用CreateWindow来创建按钮窗口,不知道这样是不是符合你的要求
      

  6.   

    自己画一个图,然后根据鼠标的位置来发送WM_COMMAND消息,也能达到按钮的效果
      

  7.   

    你自己都说了绘制按钮,那你就用GDI绘制一个按钮,记住RECT,然后捕获鼠标,如果进入RECT做相应的操作不就行了吗?
      

  8.   

    老大::用creawindow ()的话我不知道。按钮窗口取得焦点之后(即按钮窗口获得消息之后)
    我不知道消息怎样才能退出按钮窗口!回到主窗口!