如何判断在激活一个窗口后鼠标是否在该窗口上活动

2024-05-20

1. 如何判断在激活一个窗口后鼠标是否在该窗口上活动

API 函数调用 GetForegroundWindow 返回的就是当前处于激活状态的窗口句柄 HWND ahwnd = GetForegroundWindow();

如何判断在激活一个窗口后鼠标是否在该窗口上活动

2. c++ 怎么判断当前鼠标是否点击

错了,删掉。。、。。

3. 纯WIN32API程序,不是MFC。修改响应回车按键

在窗口过程函数中,对WM_CHAR消息进行响应,
其中wParam
      Specifies the character code of the key. 
回车键为VK_ENTER

纯WIN32API程序,不是MFC。修改响应回车按键

4. 用纯API的形式,有关状态栏和工具栏的相关函数有哪些呢?功能是什么?是纯API的,不是MFC里面的哈~~

不好意思啊, 我刚刚才看你您的问题...

首先要说明的是, 我并没有使用API来写过状态栏和工具栏, 我都是用MFC来做的. 而且在我看来, Windows并没有提供专门的API来处理这两种控件, 而是把它们作为一种特殊的窗口来实现的. 只需要在创建时添加一些特殊的flag即可. 而且在MFC中, 由其派生关系: CToolBar/CStatusBar --> CCnotrolBar --> CWnd也可以看出这种关系.

下面以工具栏为例, 状态栏有什么问题再讨论吧.
1. 首先要创建工具栏, 有两个函数CreateToolbarEx或者CreateWindowEx. 后者是创建所有窗口都要用的函数, 所以需要指定其窗口类是TOOLBARCLASSNAME. 前都则是专门用来创建工具条的, 具体参数比较条, 你可以去网上搜一下, 函数中指定了位图, 按钮等等. 我觉得用后者更好一些, 该函数功能更强大一些.
2. 对于工具栏的操作是通过发送消息来实现的, 可能需要了解一下SendMessage函数:
 LRESULT SendMessage(HWND, UINT, WPARAM, LPARAM);

下是几个常用的操作, 可能需要用到的:
1.给工具条添加按钮使用TB_ADDBUTTONS消息, 插入按钮用TB_INSERTBUTTON消息
2. 响应函数. 工具栏中的每个按钮都有一个消息id与之关联, 当用户按下按钮时系统会给父窗口发送WM_COMMAND或者WM_NOTIFY消息, 可以通过该id来识别更个按钮, 进而进行响应.
3. 使用ToolTipControl. 当把鼠标停留在工具栏上时, 一般会弹出一个小窗口, 表明该按钮的功能(就是MFC中的CToolTipControl). 欲使用该功能, 在创建工具栏时要含有TBSTYLE_TOOLTIPS标识. 要使用该功能, 需要处理TTN_GETDISPINFO消息.
4. 给按钮指定image. 这是通过给控件发送TB_ADDBITMAP消息来实现的.

这些都是些皮毛, 要是真用起来的话, 肯定会有很多很多的细节问题. 要是有问题的话, 可以再讨论

5. C++鼠标判断位置求解!

有现成的API吧。直接用就可以。

C++鼠标判断位置求解!

6. VB如何判断鼠标是否在窗体内?

判断鼠标位置要用api 

在窗体上创建一个timer,一个label复制以下代码: 

Option Explicit 
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long 
Private Type POINTAPI 
x As Long 
y As Long 
End Type 
Dim x1, y1, x2, y2 
Private Sub Form_Load() 
Show 
x1 = ScaleX(Me.Left, vbTwips, vbPixels) 
y1 = ScaleY(Me.Top, vbTwips, vbPixels) 
x2 = ScaleX(Me.Width, vbTwips, vbPixels) 
y2 = ScaleY(Me.Height, vbTwips, vbPixels) 
End Sub 

Private Sub Timer1_Timer() 
Me.Cls 
Dim lpPoint As POINTAPI 
GetCursorPos lpPoint 
Label1.Caption = "X=" & lpPoint.x & vbNewLine & "Y=" & lpPoint.y 
If lpPoint.x > x1 And lpPoint.x  y1 And lpPoint.y < y1 + y2 Then 
Print "鼠标在窗体内" 
Else 
Print "鼠标在窗体外" 
End If 
End Sub


不用api恐怕不行,期待能有人帮忙解决!!

7. c++和api和mFC的有什么关系?

楼主还是先安心学C++吧

API是应用程序接口的意思,楼主所说的API应该是指Windows API吧,它是Windows给应用程序提供的接口函数,Windows下的应用程序都要调用API。

不过C++并不是不断调用API,调用API只是C++ Windows程序的一部分。

至于MFC是Microsoft为Windows编程提供的类库,楼主学了C++以后就知道什么是类库了。

如果要做网络编程tcp/ip当然是要学好的,楼主所说的数据库应该是Microsoft SQL Server和甲骨文吧,SQL是“结构化查询语言”的意思,是一种用于数据库的通用查询语言。不同的数据库管理系统就和不同的C++编译器差不多,他们的内容是基本相同的,只是各自做了些不同的扩展,所以学哪个不是问题,但数据库相关的理论要学好。

Web方面的东西还有很多,比如Java,.net, php, css, XML....

看楼主的提问估计楼主还算不上初学,是准备开始学的时候,所以安安心心学基础才是王道,这个本来就是很耗时间很耗精力的事情,切忌浮躁。

楼主+U!

c++和api和mFC的有什么关系?

8. C++用api模拟鼠标点击获得焦点时竟然无效!

请看http://msdn.microsoft.com/en-us/library/aa932376.aspx这里。
这里的详细介绍,里面有个地方,我猜想是你这个问题发生的来源:
MOUSEEVENTF_ABSOLUTE
不设置该标志,表示相对上一次鼠标事件的位置,设置的话,是屏幕坐标位置。
你再分析下你的代码呢。
最新文章
热门文章
推荐阅读