播放时C#VLC ActiveX组件焦点元素



我想在玩家玩游戏时进行慕斯滚动音量,但是当玩家启动视频时,焦点就消失了。我如何"强制焦点"到卷跟踪栏?

您可以做的是在表单上安装消息窗口。这将使您在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();
    }

相关内容

  • 没有找到相关文章

最新更新