我想在玩家玩游戏时进行慕斯滚动音量,但是当玩家启动视频时,焦点就消失了。我如何"强制焦点"到卷跟踪栏?
您可以做的是在表单上安装消息窗口。这将使您在VLC控件之前为您提供任何鼠标输入。
让您的表单实现iMessageFilter和PremessageFilter方法,该方法将为您带来鼠标。Paramater是Win32消息。这是WM_MouseWheel事件的一些信息。
public partial class Form1 : Form, IMessageFilter
public bool PreFilterMessage(ref Message m)
{
const int WM_MOUSEWHEEL = 0x020A;
if (m.Msg == WM_MOUSEWHEEL)
{
// The wheeldelta is stored in the highorder of WParam.
// The value of which will be 120 (positive for forward, negative for backward).
int hiWord = m.WParam.ToInt32() >> 16;
// So use the delta as a way to increment/decrement the volume
this.axVLCPlugin21.volume += 10 * (hiWord / 120);
Trace.WriteLine("vol: " + this.axVLCPlugin21.volume);
}
return false;
}
也不要忘记在应用程序中注册消息过滤器。您可以在表格的构造函数中执行此操作。
public Form1()
{
Application.AddMessageFilter(this);
InitializeComponent();
}