【问题标题】:Receive double value in WndProc from legacy从旧版接收 WndProc 中的双倍值
【发布时间】:2013-07-28 18:53:04
【问题描述】:

我正在尝试将双精度/浮点值从我的 MFC 旧代码发送到 WPF 窗口。 WPF WndProc 过程以整数形式接收 LParam 和 WParam 中的参数(截断十进制值)。

private IntPtr WndProc(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)

我该怎么做?

提前致谢

【问题讨论】:

  • this。可能有用。

标签: wpf mfc message sendmessage wndproc


【解决方案1】:

您可以创建一个结构来存储您的浮点/双精度值,并在 lParam 值中传递该结构的地址。如果您要发布消息而不是发送消息,则需要让收件人释放结构占用的内存。

#define MYMESSAGECODE (WM_APP + 123 )
typedef struct
{
    float f;
    double d;
} MyDataStruct;

MyDataStruct data;
data.f = 1.0;
data.d = 2.0;
pWpfWnd->SendMessage( MYMESSAGECODE, 0, (LPARAM) &data );

【讨论】:

    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 2012-07-17
    相关资源
    最近更新 更多