2013-03-27 286 views
1
private: 
    #define WM_SETTEXT      0x000C 

    void doSomethinggToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) 
    { 
     SendMessage(this->Handle, WM_SETTEXT, (wPARAM)"Some Window Title", 0); 
    } 

导致以下错误:Visual C++ CLR如何发送Windows消息?

error C2065: 'wPARAM' : undeclared identifier 
error C2143: syntax error : missing ')' before 'string' 
error C2059: syntax error : ')' 

这个 - >处理< ---(错误)从System :: IntPtr的无suiteble转换为HWND

+0

是否包含''? – Joey 2013-03-27 05:55:20

+0

是的,乔伊......包括在内。 函数(LRESULT)显示为我用鼠标悬停在它上面。 – NaturalDemon 2013-03-27 06:07:40

回答

1

你需要的符号是WPARAM(全部大写),而不是'wPARAM'。

还要注意的是WM_SETTEXT其实需要的字符串参数为lParam价值,而不是wParam

SendMessage(this->Handle, WM_SETTEXT, 0, (LPARAM)"Some Window Title"); 
+0

谢谢,但是...'错误C2065:'WPARAM':未声明的标识符',也许我太困了...但我一直在寻找的年龄:) – NaturalDemon 2013-03-27 06:05:25

+0

'错误C2065:'LPARAM':未声明的标识符' – NaturalDemon 2013-03-27 06:07:58