SS_NOTIFY和WM_SETCURSOR

SS_NOTIFY和WM_SETCURSOR,第1张

概述SS_NOTIFY和WM_SETCURSOR

我试图用C ++来模仿一个对话框上的超链接。

我正在使用SS_NOTIFY进行静态控制设置,以便用户可以单击该控件并转到网页:

LTEXT "Caption2",IDC_SETTINGS,9,36,219,13,SS_NOTIFY

使用SS_NOTIFY设置,我可以拦截点击,因为它是针对静态注册的:

case IDC_STC_URL: ShellExecute(NulL,"open","http://Google.co.uk",NulL,SW_SHOWnorMAL); return TRUE;

我也通过拦截WM_SETCURSOR消息将光标更改为一只手:

什么是BOol WINAPI返回types

pyautogui点击权限错误

如何在python中确定外部程序是否打开?

带有AWS EC2的ZeroMQ服务器/客户端

检测文件是否被 *** 作系统阻止

case WM_SETCURSOR: POINT pt; RECT rect; GetCursorPos( &pt ); GetwindowRect( GetDlgitem(hwnd,IDC_SETTINGS),&rect ); if (PtInRect(&rect,pt)) { SetCursor(LoadCursor(NulL,IDC_HAND)); } else { SetCursor(LoadCursor(NulL,IDC_ARROW)); } return TRUE;

但是,如果设置了SS_NOTIFY,则光标更改不起作用。 当SS_NOTIFY是disabeled它的确如此。 但是,然后点击没有注册对静态,所以ShellExecute()不打开URL。

有没有人有什么我做错了什么build议?

谢谢,还有。

批量文件中的CSV格式

仅列出“设备和打印机”面板中显示的设备

可执行文件从命名pipe道启动?

如何在windows上用Python更改文件夹图标?

在windows XP中,从C ++中的压缩标准库中embeddedPython 3.3

对话框proc的返回值与窗口proc的返回值不同。 (文档的对话框过程: http : //msdn.microsoft.com/en-us/library/windows/desktop/ms645469 (v= vs.85).aspx – 值得仔细阅读。)从对话框的返回值只是TRUE或FALSE ,表示消息是否被处理,但窗口过程的返回值是窗口消息处理的返回值。

如果窗口消息有一个有意义的返回值(大多数不这样做,但WM_SETCURSOR是这样做的),在对话框过程中,需要使用SetwindowLong(hwnd,DWL_MSGRESulT,value)来设置结果,然后从对话框返回TRUE PROC。

我认为默认的DWL_MSGRESulT是零,所以在这个代码中,你将从WM_SETCURSOR消息返回FALSE 。 这表明静态应该做它自己的事情 – 即设置箭头光标。

总结

以上是内存溢出为你收集整理的SS_NOTIFY和WM_SETCURSOR全部内容,希望文章能够帮你解决SS_NOTIFY和WM_SETCURSOR所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存