我是有一个在标题栏的按钮。怎么移动到工具栏按钮上呢?
对了。工具栏按钮创建后怎么添加对应的消息相应。那位高手能详细的说一下呢?谢谢。

解决方案 »

  1.   

    一般是增加
    ON_COMMAND至于在那增加,你还是先看看 侯捷的<<深入浅出MFC>>
      

  2.   

    “标题栏的按钮”?怎么搞上去的?
    编辑工具栏资源,可以在上面添加按钮,设置按钮ID。代码中通过添加ON_COMMAND宏和响应函数来响应。
      

  3.   

    点击view--->ClassWizard,然后在Object ID选择你的工具栏按钮ID,在Message选择消息,点击Add Function,点击 Edit Code,加入你的代码
      

  4.   

    单击工具栏按钮,选择视图,点击建立类向导,之后选择对应的ID,再选择ON_COMMAND,
      

  5.   

    我用VC2008, 也不会用IDE添加消息,所以我就手动加了哈
      

  6.   

    你的意思是点工具栏上的一个按钮弹出菜单是吗?先编辑好菜单资源,窗口初始化时LoadMenu,要弹出时GetSubMenu、TrackPopupMenu。
      

  7.   

    首先在对话类中添加一个CToolBar类成员变量CToolBar m_Toolbar;
    然后在对话类文件中定义工具栏命令ID
    #define ID_BUTTON1 501
    #define ID_BUTTON2 502
    #define ID_BUTTON3 503
    接着我们就要创建工具栏资源了,用于工具栏按钮的显示图片
    方法是进入ResourceView(资源视图选项卡),再随便选中一个选项,右击选择插入,在弹出的对话框里选中Toolbar,点新建。接着创建三个按钮:
     
    好了,下面把三个按钮ID号,改成上面宏定义的ID号,如果要改变“天”字按钮,选中该按钮,然后回车键,就会弹出一个对话框,
    在ID项填入ID_BUTTON1,就可以了。接着依次把两个ID号改为ID_BUTTON2,ID_BUTOON3。在这个对话框里也可以改变工具栏按钮的大小。
    接下来我们样在对话框类的OnInitDialog函数里的所有代码之后,return TRUE;之间添加以下语句:
    m_Toolbar.Create(this);//创建工具栏控件
    m_Toolbar.LoadToolBar(IDR_TOOLBAR1);//装载工具栏资源
    CRect rect(100,100,200,200);//
    m_Toolbar.MoveWindow(rect);//移动工具栏在父窗口的位置
    m_Toolbar.ShowWindow(SW_SHOW);//显示工具栏
    但这样显示工具栏不是很方便,特别是当窗口大小改变后,还要计算工具栏在窗口中的位置,有没有什么方法,可以根据窗口大小自动调整工具栏到合适的位置呢?答案是肯定的,RepositionBars函数可以做到。实现方法如下,把上面的语句换成下面的:
    m_Toolbar.Create(this);//创建工具栏控件
    m_Toolbar.LoadToolBar(IDR_TOOLBAR1);//装载工具栏资源
    //该函数用于显示工具栏,并根据窗口大小自动调整工具栏的位置
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
    而响应工具栏按钮单击消息,跟前面介绍的添加按钮单击消息差不多,进入类向导,找到要添加的工具栏按钮ID,添加COMMAND消息响应函数
    如果,运行时点击工具条上的按钮没反应 ,你可以把工具条上的按钮ID改为与Menu上的Id对应起来   即可