2013-07-29 5 views
2

내 MFC 레거시 코드에서 WPF 창으로 double/float 값을 보내려고합니다. WPF WndProc 프로시 저는 int로 LParam 및 WParam에서 arugments를받습니다 (십진수는 자릅니다).레거시에서 WndProc에 이중 값을 받음

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

어떻게하면됩니까?

미리 감사

+1

보기 [이 (http://social.msdn.microsoft.com/Forums/vstudio/en-US/25d90008-b7e6-4cad-bf2a-7079145ef6bc/how-to-pass-double-using -문자 보내). 유용 할 수 있습니다. –

+0

문자열로 전송 하시겠습니까? –

답변

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);