永发信息网

C++,如何获取程序窗口外的鼠标位置

答案:1  悬赏:50  手机版
解决时间 2021-07-26 14:02

void CMouseDlg::OnMouseMove(UINT nFlags, CPoint point)
{
POINT pos;
GetCursorPos(&pos); //取鼠标的坐标

char text[50];

text={"pos.x,pos.y"};

sprintf(text, "%d,%d", pos.x, pos.y);//产生输出的文本

GetDlgItem(IDC_EDIT1)->SetWindowText(text);

}

我在个程序,只能显示程序窗口内的鼠标位置,鼠标移到外面就不行了,就办法获取屏幕外的鼠标位置吗

最佳答案
GetCursorPos不管鼠标在哪里都可以获取位置的
问题是 只有OnMouseMove的时候才获取鼠标位置
但是OnMouseMove又是你对话框的成员函数
所以说 只有鼠标在对话框内移动才会显示坐标的
但是并不是没办法实现的
首先 你可以在OnInitDialog里设置一个定时器
CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here
SetTimer(1,100,NULL);//时间设置短一点 显示的也快点
return TRUE; // return TRUE unless you set the focus to a control

然后为对话框添加WM_TIME消息
void CAdcDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
POINT pos;
GetCursorPos(&pos); //取鼠标的坐标
CString str;
str.Format("%d,%d",pos.x,pos.y);
m_dd=str;
UpdateData(FALSE);
CDialog::OnTimer(nIDEvent);
}
m_dd为绑定在一个静态label空间上的CString
试试吧 这样就可以获得鼠标在任何时候的坐标了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
《冷战》的歌词。
把这几个字大写下
昆明世纪城附近有哪些幼儿园?
征求个菜谱!菜式新颖,做出来味道甜美的!(
济南有去莫桑比克的飞机吗?多少钱?
笔记本看视频卡 特别是新闻联播,是不是要下
观察下列等式:3的平方+4的平方=5的平方,8的
DOTA之被斧王E住之后
为何我们还没有得生物书啊?天天借!好麻烦!
2009年四川省绵阳市冬季征兵具体时间
狂战刷图该点什么技能厉害啊!十字斩、崩山该
表达情绪低落的诗句,心情低落到极点的句子,
机械舞是什么???
谁能帮我做一个或找一个完美的幻灯片?10页可
解除防成迷问�
推荐资讯
信息里的个人说明很小啊,复制的特殊符号粘贴
第一次买菜的作文,一年级看图写话第一次买菜
鼻子有红血丝怎么办,爸爸颧骨那出现红血丝为
公司房租收入交什么税,事业单位房租收入交税
编导生的自我介绍范文,求编导艺考时自我介绍
小孩心肺火旺怎么调理,经常熬夜怎样护肝?
芒刺在背意思是什么,身闲心忙是什么意思
阿拉蕾搞笑台词,主持人在台上的幽默台词,小
莆田在哪里?
为什么真心换不来真义
会员各个级别能对多少好友设置铉铃?
一进三月,桃花,李花,杏花和海棠花(陆续 相继
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?