我在右边视图按按钮,我左边的视图怎样立即知道?

207 2003-05-11 06:01:00
请告诉一下我详细的做法好吗?谢谢!
...全文
94 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
207 2003-05-20
  • 打赏
  • 举报
回复
得视图指针的写法:
CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CQiPan* pLeftView=(CQiPan*)pMF->m_mySplitter.GetPane(0,0);
CChat* pRightView=(CChat*)pMF->m_mySplitter.GetPane(0,1);

我想知道SendMessage的写法,请指教,谢谢!
cxjlw 2003-05-20
  • 打赏
  • 举报
回复
我所讲的视图应该是你的右视图,按钮所在类是你的左视图类。

如果你感到获得右视图的指针比较困难的话,可以定义一个全局变量CView* pView=NULL;然后在你右视图类中声明extern CView*pView;并在构造函数中写上pView=this;

朋友,该结贴了,哈哈!

cxjlw 2003-05-20
  • 打赏
  • 举报
回复
1,定义一个全局标识符#define WM_CLICK_YOUR_BUTTON WM_USER+10(在类的函数外面定义即可)
2。
在你的视图所在类的h文件中添加
afx_msg void OnClickYourButton(WPARAM wParam,LPARAM lParam);
在你的视图所在类的cpp文件中添加
ON_MESSAGE(WM_CLICK_YOUR_BUTTON ,OnClickYourButton)

在你的视图所在类的cpp文件中为函数OnClickYourButton添加你的处理代码

3。为你的按钮添加消息映射函数OnYourButton(),在这个函数中
首先获得视图类的句柄(如果其指针为pView,则句柄为pView->m_hWnd);
然后,
::SendMessage(pView->m_hWnd,WM_CLICK_YOUR_BUTTON,0,0);

当然,你还可以将字符串等信息作为WPARAM或作为LPARAM(第三个、第四个参数)传过去。
triggerd 2003-05-20
  • 打赏
  • 举报
回复
OnYourRightButton()
{
CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CQiPan* pLeftView=(CQiPan*)pMF->m_mySplitter.GetPane(0,0);
pLeftView->SendMessage(WM_USER);
}
////////
左视图对WM_USER处理
resound 2003-05-11
  • 打赏
  • 举报
回复
可否在右视图中保存一个左视图的指针,而在建立视图时就将其初始化呢?
qihao210 2003-05-11
  • 打赏
  • 举报
回复
up
207 2003-05-11
  • 打赏
  • 举报
回复
我在右视图中怎样得到左视图的指针?
part706 2003-05-11
  • 打赏
  • 举报
回复
右视图的处理函数中将该消息通过左视图指针传给右视图。
feiniaoliang 2003-05-11
  • 打赏
  • 举报
回复
或者,在右视图的按钮按下的响应函数中,取得左视图的窗口指针,直接左边的视图进行想要的操作!!
cxjlw 2003-05-11
  • 打赏
  • 举报
回复
自定义一个消息,然后SendMessage()。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧