社区
API
帖子详情
关于 SendMessage的相关问题
azhilee
2006-03-29 02:25:42
from1 一个,当picture1.move 0, 0, me.width, me.height 时。
在 from1的mousemove事件里怎么能感应到picture1的mousemove事件。
我是这样写的
picture1的mousemove事件里
ReleaseCapture
Call SendMessage(hWnd, WM_NCMOUSEMOVE, HTCLIENT, 0)
但是不起做用,请教各位高手
...全文
119
5
打赏
收藏
关于 SendMessage的相关问题
from1 一个,当picture1.move 0, 0, me.width, me.height 时。 在 from1的mousemove事件里怎么能感应到picture1的mousemove事件。 我是这样写的 picture1的mousemove事件里 ReleaseCapture Call SendMessage(hWnd, WM_NCMOUSEMOVE, HTCLIENT, 0) 但是不起做用,请教各位高手
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
azhilee
2006-04-07
打赏
举报
回复
太细了谢谢
homezj
2006-03-29
打赏
举报
回复
你这里的错误很多,
1、picture1.move 0, 0, me.width, me.height
应改为
picture1.move 0, 0, scalewidth, scaleheight
2、ReleaseCapture
这里用不着
3、WM_NCMOUSEMOVE是窗体非客户区消息,正常程序不会自己处理它,VB更不会为它提供响应事件。
4、HTCLIENT代表鼠标位于客户区,发非客户区消息说明鼠标在客户区,这很矛盾,而且HTCLIENT,正常时是窗体处理过程在处理WM_HTTEST消息时的返回值,代表随后主消息将转换为客户区消息。
5、lParam参数在这个消息中代表鼠标位置,简单的传0没有意义;
你的代码可以这样写
Const WM_MOUSEMOVE = &H200&
With Picture1
SendMessage hwnd, WM_MOUSEMOVE, 0, ByVal CLng(.ScaleX(X, .ScaleMode, 3)) + CLng(.ScaleY(Y, .ScaleMode, 3)) * &H10000
End With
注意:
1、这里没有传按键,你可根据Button及Shift参数自己加上。
2、若将scaleMode指定为3,那就不会Scale转换这么麻烦了。
3、Picture1的边框要设为0,不然会坐标会有点小误码率差的^_^
够详细吧?但愿你能学好API
azhilee
2006-03-29
打赏
举报
回复
TO 小吉。可以。但我想用API实现,
我不是为了实现这个功能而实现这个功能的。
只要是想学学API 常量。。。谢谢
homezj
2006-03-29
打赏
举报
回复
这真是一个比较有创意的消息!其合理性先不说,我只是不太明白你的意思?直接调用from_mousemove事件过程不行吗?
云路
2006-03-29
打赏
举报
回复
顶
SendMessage
函数的消息中文解释的软件源码
SendMessage
函数的消息中文解释本人看了很多网上有关的源码,基本上都是一样的,不过功能就不是很强大 有感与此,本人特写了一个功能强大点的欢迎大家使用
vc中使用
SendMessage
自定义消息函数
主要介绍了vc中使用
SendMessage
自定义消息函数的
相关
资料,需要的朋友可以参考下
一个简单的VC 最大化、最小化恢复窗口例子.rar
这个例子比较简单,VC 6.0 最大化、最小化的例子,除此之外,把窗口恢复到以前的状态,
相关
的代码,有兴趣先睹为快: void CDemoDlg::OnTest1() { //最大化窗口
SendMessage
(WM_SYSCOMMAND, SC_MAXIMIZE,...
worker线程处理时,同时刷新对话框消息
2.而多线程函数的使用中可能出现以下
问题
,如果用 CWinThread * pthread=AfxBeginThread(……………); 并设一个全局变量flag=0; 在点击开始对应的START函数里开始线程后,用等待 While(flag!=1);//flag为当线程结束时...
VC 演示EXE程序通信的发送和接收消息机制.rar
pWnd->
SendMessage
(WM_COMM,0,0); } //发送消息命令二 void CSenderDlg::OnCommand2() { //找到接收消息的窗口(窗口名为Receiver) CString str="Receiver"; CWnd *pWnd=CWnd::FindWindow...
API
1,486
社区成员
23,280
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章