比如我这里需要从一个数据表中读取一些信息,这些信息如果标示有button.那么我就要在软件的界面上动态生成一个button,比如
while(!pRecord->eof)
{
    CButton* pbutton = new CButton();
    pRecord->movenext();
}这样,某一个时刻界面上生成了10个button,现在我需要在第一个button和第二个button中插入一个button,具体方法是使用鼠标点击第二button,然后让在第二个button之前插入一个button,这样的思路和方法是怎么样?
想了两天都没有思路,请大侠指教;如何在这样生成的动态控件上,生成其相应的消息;

解决方案 »

  1.   

    我的意思是说,我在动态创建这些button的时候,我并不知他们的个数,这样我没有办法定义其资源ID,而且最重要的一点是,我不知道那个button以后将要响应消息,在这些button生成之后,在界面中还可以继续添加button,而添加的button还是可以响应消息的,
      

  2.   

    动态创建控件的方法就不用我说了。就你的问题,如果用户最多有可能要10个控件,那就给他预备10控件的连续资源号,用户暂时不要全部的话,就把那个资源号预留,即跳过这个(些)号,等他要用的时候再拿预留的这个号创建。至于响应函数,可以考虑命令范围消息处理函数:
    ON_COMMAND_RANGE(ID_BUTTON1,ID_BUTTON2,ID_BUTTON3,......,OnButton)