Receive double value in WndProc from legacy

Asked 9 years, 8 months ago
Viewed 158 times

I'm trying to send double/float values from my MFC legacy code to WPF window. WPF WndProc procedure receives the arugments in LParam and WParam as ints (truncates the decimal values).

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

How can I do this?

Thanks in advance

 

1 Answer

1
 

You could create a structure to store your float/double values and pass the address of that structure in the lParam value. If you are Posting the message rather than Sending it, you will need to get the recipient to free the memory occupied by the structure.

#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 );
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章