wxToolBar更改设备坐标

时间:2015-04-30 20:56:22

标签: user-interface wxwidgets

使用鼠标我在MDIChildFrame的客户区域上绘制2D形状。最近我在框架中添加了一个wxToolBar,当我现在在客户区绘制一个形状时,似乎点已经移动了工具栏的大小。想象一下,用鼠标点击(100,100)并画一条线(150,150);然而,该线出现在某处(75,75)到(125,125)。顺便说一句,wxMouseEvent GetPosition();报告(100,100)给我。

删除工具栏可以解决问题,但是我想保留工具栏以方便工具选择。

我使用代码:

m_ToolBar=new wxToolBar(this, wxID_ANY);
m_ToolBar->AddTool() //
m_ToolBar->Realize();
this->SetToolBar(m_ToolBar);

任何想法都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

您始终可以使用wxWindow::GetClientAreaOrigin()手动偏移工具栏高度的坐标,但通常情况下这不是必需的,如果这不会发生在"正常&#34 ;框架,但只发生在wxMDIChildFrame,这将是wxWidgets中应该是reported as usual的错误。

它还建议不要在wxFrame上绘制,而是将wxWindow放入其中并绘制它。这也应该解决你的问题。