- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我做了一些函数,这样当你点击一个窗口时它会拖动窗口(就像你在普通窗口上拖动标题栏一样)。但是,每当我尝试拖动它时,它都会一直移动到屏幕上的坐标 0,0。 (一旦你看到代码,你就会理解标题。)我尝试了 IF 语句,但是当我拖动它时窗口仍然转到 0,0(我无法让它正常工作)。在我尝试从那里第二次拖动它之后,它完美地工作了(只是那一次)。然后,如果我尝试再次拖动它,它会返回到屏幕上的坐标 0,0,并且它会继续这样。
将事件分配给函数的标题条码:
this->menuStrip1->MouseMove += gcnew MouseEventHandler(this, &CPPGUIForm::MoveWindow);
this->menuStrip1->MouseDown += gcnew MouseEventHandler(this, &CPPGUIForm::titleBarOnClicked);
this->menuStrip1->MouseUp += gcnew MouseEventHandler(this, &CPPGUIForm::titleBarOnReleased);
this->menuStrip1->MouseLeave += gcnew EventHandler(this, &CPPGUIForm::titleBarMouseLeave);
移动窗口函数:
private:
void MoveWindow(Object^ sender, MouseEventArgs^ e){
POINT p;
GetCursorPos(&p);
if (mClicked == true){
this->Location = System::Drawing::Point(p.x - mouseXLocOnWindow, p.y - mouseYLocOnWindow);
}
}
标题栏点击和释放功能:
private:
void titleBarOnClicked(Object^ sender, MouseEventArgs^ e){
HWND hwnd;
POINT pt;
GetCursorPos(&pt);
ScreenToClient(hwnd, &pt);
mouseXLocOnWindow = pt.x;
mouseYLocOnWindow = pt.y;
mClicked = true;
}
private:
void titleBarOnReleased(Object^ sender, MouseEventArgs^ e){
mClicked = false;
}
标题栏鼠标离开功能(修复bug):
private:
void titleBarMouseLeave(Object^ sender, EventArgs^ e){
mClicked = false;
}
如果您需要这篇文章中的更多信息,请告诉我。
最佳答案
在您的 titleBarOnClicked()
函数中,hwnd
未初始化。
我想你想要这样的东西:
HWND hwnd = static_cast<HWND>(this->Handle.ToPointer());
关于c++ - ScreenToClient 不断将点值设置为整个屏幕分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37625960/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!