CMenu::TrackPopupMenu
msdn中CMenu::TrackPopupMenu的原型声明如下BOOLTrackPopupMenu(UINTnFlags,intx,inty,CWnd*pWnd,LP...
msdn中CMenu::TrackPopupMenu的原型声明如下
BOOL TrackPopupMenu( UINT nFlags, int x, int y, CWnd* pWnd, LPCRECT lpRect = NULL );
而使用时却这样使用
void CMyView::OnRButtonDown(UINT nFlags, CPoint point)
{
CView::OnRButtonDown(nFlags, point);
CMenu* menu_bar = AfxGetMainWnd()->GetMenu();
CMenu* file_menu = menu_bar->GetSubMenu(0);
ASSERT(file_menu);
file_menu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x,
point.y, this);
}
看最后一个括号前面的一行,为什么矩形参数用this呢?高手们往解答下 展开
BOOL TrackPopupMenu( UINT nFlags, int x, int y, CWnd* pWnd, LPCRECT lpRect = NULL );
而使用时却这样使用
void CMyView::OnRButtonDown(UINT nFlags, CPoint point)
{
CView::OnRButtonDown(nFlags, point);
CMenu* menu_bar = AfxGetMainWnd()->GetMenu();
CMenu* file_menu = menu_bar->GetSubMenu(0);
ASSERT(file_menu);
file_menu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x,
point.y, this);
}
看最后一个括号前面的一行,为什么矩形参数用this呢?高手们往解答下 展开
3个回答
展开全部
BOOL TrackPopupMenu( UINT nFlags, int x, int y, CWnd* pWnd, LPCRECT lpRect = NULL );
pWnd
Identifies the window that owns the pop-up menu.
楼上的别乱说 指针这个参数怎么能忽略 他指向的是他的拥有者窗口 如果忽略 第一 编译不通过 第二 没有父窗口 创建失败
因为这里LZ你的代码是写在void CMyView::OnRButtonDown(UINT nFlags, CPoint point)函数里的 所以this指针指向的是View类窗口 那个Button对象 也就是PopupMenu的拥有者
pWnd
Identifies the window that owns the pop-up menu.
楼上的别乱说 指针这个参数怎么能忽略 他指向的是他的拥有者窗口 如果忽略 第一 编译不通过 第二 没有父窗口 创建失败
因为这里LZ你的代码是写在void CMyView::OnRButtonDown(UINT nFlags, CPoint point)函数里的 所以this指针指向的是View类窗口 那个Button对象 也就是PopupMenu的拥有者
名片
2024-10-28 广告
2024-10-28 广告
作为优菁科技(上海)有限公司的一员,Altair HyperWorks是我们重点代理的CAE软件套件。该软件以其全面的仿真能力、丰富的建模工具和高效的优化设计功能著称,广泛应用于汽车、航空航天、能源及电子等行业。HyperWorks通过集成...
点击进入详情页
本回答由名片提供
展开全部
这个参数可以忽略
追问
说了等于没说,
追答
也就是说这里没意义,ok?
msdn里边有明确的说明啊,可以是null!你随便写个都可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
仁兄,一楼二楼都没有错,而是你问题不够清晰
TrackPopupMenu里面有5个参数,最后一个是带缺省的参数,一般可以不用写,而你说的this是
CWnd* pWnd,指向当前拥有者窗口对象的指针(即是View类窗)
TrackPopupMenu里面有5个参数,最后一个是带缺省的参数,一般可以不用写,而你说的this是
CWnd* pWnd,指向当前拥有者窗口对象的指针(即是View类窗)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询