wndproc

    1热度

    1回答

    我在设计器中添加了表单控件到我的表单。但我需要重写该控件的WndProc。我可以做到这一点,而不是创建一个新的控制扩展旧的控制?因为当我向旧的像这样我的设计师将不再工作: partial class ThatControlWithWndProc : TheControlIActuallyWant {} 或者我怎样才能让我的设计师与我创造了这个新的控制工作,而不是把我的错误?

    5热度

    1回答

    还有就是我的计划是如何开始的: int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShowCmd) { MapEditor mapEditor; mapEditor.Run(); return 0; } 且有MapEditor(

    0热度

    1回答

    我正在写一个OpenGL/DX应用程序,其中我读WM_INPUT消息WndProc()来移动自定义鼠标光标。系统鼠标光标在应用程序窗口上/时,通过ShowCursor(false)隐藏。 问题是,当我移动鼠标时,系统鼠标光标仍然移动。所以这两个游标(正常系统游标和我的应用程序中的自定义游标)正在同时移动。鼠标点击也是如此。 所以我的问题是:如何防止系统鼠标光标在应用程序运行时移动(并单击),以便只

    3热度

    6回答

    如何禁用最大化双击标题上的WPF窗口并保留调整大小可用? 我知道ResizeMode禁用最大化,但它也可以防止调整形式 ResizeMode="CanMinimize" 我知道如何删除最大化和最小化按钮,但它仍然可以通过双击最大化在标题上。 在WinForms中可以轻松实现。刚刚设置FormBorderStyle从无到FixedSingle或Fixed3D。但它不再是WPF中的选项。 P.S.

    2热度

    1回答

    接收WndProc中的双值我试图从我的MFC遗留代码发送到WPF窗口的双/浮点值。 WPF WndProc过程接收LParam和WParam中的参数(将十进制值截断)。 private IntPtr WndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) 我该怎么做? 在此先感谢

    2热度

    1回答

    我想看看WM_PAINT消息。但起初,我想让系统执行默认绘图,然后我手动绘制其他东西。 例如: case WM_PAINT: CallWindowProc(DefWndProcTabControl, hwnd, message, wParam, lParam); TabControlOnPaint(hwnd); return 0; 这工作,但不是很好,因为它

    5热度

    1回答

    我试图保持一个特定的WPF窗口的焦点,这意味着它不应该在失去焦点时(例如标准的Windows任务栏)更改窗口样式。为了达到这个目的,我勾选了WndProc来检查WM_NCACTIVATE或WM_ACTIVATE是否设置为false(wParam == 0),然后将该邮件标记为handled = true;以阻止窗口不活动。下面是一些示例代码: void Window_Loaded(object s

    0热度

    1回答

    在我的应用程序中,我使用SetCursor(NULL)隐藏了光标,并确保Windows不重置游标状态,我在WndProc方法中处理了WM_SETCURSOR。 但是在C++的msdn文档中,为了处理WM_SETCURSOR我必须return TRUE。但是在C#的WndProc中,这是一个无效的方法,所以我不能返回任何值。 那么,我将如何完成C#中的返回语句? C++变: static LRESU

    4热度

    1回答

    在我的媒体播放器应用程序中,我使用SetCursor(NULL)隐藏光标,并确保Windows不重置游标状态,我在我的WndProc方法中处理了WM_SETCURSOR。 protected override void WndProc(ref Message m) { switch (m.Msg) { case WM.SETCURSOR: base.

    2热度

    1回答

    我正在试图做出简单的键重映射 - 当一个键盘键按下时,另一个不同的按键按代码生成。这里是我的代码: [DllImport("user32.dll")] static extern uint keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); public static void KeyDown(System.Wind