[wxWidgets]_[中级]_[移动窗口]

发布时间:2016-12-9 2:24:19 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"[wxWidgets]_[中级]_[移动窗口]",主要涉及到[wxWidgets]_[中级]_[移动窗口]方面的内容,对于[wxWidgets]_[中级]_[移动窗口]感兴趣的同学可以参考一下。

场景: 1.比如自定义Dialog窗口时,需要单击标题栏按下拖动窗口. 2.目前并没有实现类似QQ播放器那种拖动显示边框的,只能连窗口内容一起移动. 关键代码: void DhWindowMove::CallOnLeftDown2(wxWindow* top_window, wxWindow* response_window, const wxMouseEvent& event, wxPoint& offset) { response_window->CaptureMouse(); wxPoint pos = response_window->ClientToScreen(event.GetPosition()); wxPoint origin = top_window->GetPosition(); offset.x = pos.x - origin.x; offset.y = pos.y - origin.y; } void DhWindowMove::CallOnLeftUp2(wxWindow* top_window, wxWindow* response_window, const wxMouseEvent& event, const wxPoint& offset) { if (response_window->HasCapture()) { response_window->ReleaseMouse(); } } void DhWindowMove::CallOnMotion2(wxWindow* top_window, wxWindow* response_window, const wxMouseEvent& event, const wxPoint& offset) { wxPoint pt = event.GetPosition(); if (event.Dragging() && event.LeftIsDown() && response_window->HasCapture()) { wxPoint pos = response_window->ClientToScreen(pt); top_window->Move(wxPoint(pos.x - offset.x, pos.y - offset.y)); } } 3.offset是一个成员变量,主要是记录偏移量. 4.要实现带矩形框的拖动,其实参考mfc的实现应该可以,改天贴上来。

上一篇:php-fpm并发优化
下一篇:JAVA的String 类【转】

相关文章

相关评论