各位前辈,我遇到一个问题,怎么解决啊。如何彻底摆脱拆分窗口的时候,工具栏按钮以及菜单项在每个窗口都可以用。问题如下所示。如果不这么做那么,比如把工具栏按钮1和button1的ID设置为相同的情况,只有在右边的窗口处于激活状态才会使得工具栏按钮1有效。我想摆脱这个。于是我按照下图所示那么做了,发现不行啊。难道我要整段代码黏贴过去吗,如果我button1的响应函数很长,那岂不是很麻烦,而且让程序变得的很庞大。

解决方案 »

  1.   

    这三个帖子有人问类似于我的问题。
    http://topic.csdn.net/t/20020328/12/606010.html
    http://topic.csdn.net/u/20090222/16/8C43E62C-5553-400C-A1B9-6289C008C5F4.html
    http://topic.csdn.net/t/20031118/15/2468192.html
      

  2.   

    你的意思是点击工具栏上的按钮,调用CRView类的Onbutton1函数是吗?你在工具栏按钮的响应函数中给CRView类发送BN_CLICKED点击事件即可。
    CRView* pView = ...;
    if(pView && pView->GetSafeHwnd())
    {
     HWND HWND_BUTTON = pView->GetDlgItem(nID); // nID为你CRView窗口上的按钮的ID号
     pView->PostMessage(WM_COMMAND, MAKEWPARAM(nID, BN_CLICKED), (LPARAM)HWND_BUTTON);
    }
      

  3.   

    error C2440: 'initializing' : cannot convert from 'class CWnd *' to 'struct HWND__ *'