我直接计算想要添加的那行列的坐标,然后create,可以显示 但是按不到 似乎被列表盖住了 
如何让按钮最前端显示或者直接在列表控件中添加按钮?

解决方案 »

  1.   

    试一下,不确定是否可行。派生一个列表控件,重载OnCommand函数,把按钮的parent设置为列表控件。
      

  2.   

    感谢回答因为我要动态添加多个CButton控件,程序中才能获知个数所以我是动态创建现在可以显示  但是用鼠标点击不到 似乎是被CList挡住了...怎么解决呢 
      

  3.   

    GetDlgItem(ID_...)->SetWindowPos(   Handle,   HWND_TOPMOST,   0,   0,   0,   0,   SWP_NOMOVE   |   SWP_NOSIZE);
      

  4.   

    我直接计算想要添加的那行列的坐标,然后create,可以显示   但是按不到   似乎被列表盖住了
    =============================================================================
    要确定按钮消息。派生吧。
      

  5.   

    chunyuanlu : SetWindowPos我用过 也不行 不知道为什么我的流程是:在成员函数中 create 按钮然后要调用一个线程在线程中判断,满足条件 就显示 该按钮 在列表控件的指定行和列上按钮看得见 但是无法点击如果被列表控件挡住应该看不见才对吧?
      

  6.   

    up_down :  我处理了按钮信息了如果我的按钮不生成在列表控件上,就可以点击 并执行点击的信息函数但是一旦生成在列表控件上就点击不到按钮了
      

  7.   

    按钮创建在 对话框的列表控件之上我在成员函数里创建的按钮SetWindowPos 第一个参数应该是用 this吧? 还是什么?
      

  8.   

    楼主问的问题和我的相似:
    http://topic.csdn.net/u/20080114/07/3c27872c-f3ed-4446-8b07-199e0e2c9e90.html可以看看这个,虽然我还不是完全理解。
    我的经验:
    1)使用SetWindowPos 调整z-order。
    2)点击会改变 z-order,所以要经常调用 SetWindowPos 调整z-order
    3)调用SetWindowPos后,可能要通知父窗口重画各子控件,使设置生效,显示正常。
    看帖子吧,也许有用。
      

  9.   

    不必 SetWindowPos
    直接 MoveWidow前提是把CButton的父窗口设置成 列表控件 
    一切都ok了