为win32 API创建上下文菜单

Xin*_*nus 8 winapi contextmenu

我正在尝试使用win32应用程序创建上下文菜单

case WM_RBUTTONDOWN:
{
    HMENU hPopupMenu = CreatePopupMenu();
    InsertMenu(hPopupMenu, 0, MF_BYPOSITION | MF_STRING, ID_CLOSE, (LPCWSTR)"Exit");
    InsertMenu(hPopupMenu, 0, MF_BYPOSITION | MF_STRING, ID_EXIT, (LPCWSTR)"Play");
    SetForegroundWindow(hWnd);
    TrackPopupMenu(hPopupMenu, TPM_BOTTOMALIGN | TPM_LEFTALIGN, 0, 0, 0, hWnd, NULL);
}
Run Code Online (Sandbox Code Playgroud)

但我总是得到如下所示的上下文菜单

alt text http://img191.imageshack.us/img191/866/70219076.png

我希望文本退出播放显示在菜单中

Joh*_*ler 6

您不能通过强制转换将字符串文字转换为宽,您必须将其声明为宽字符串.该转换只是打败了编译器警告,它不会改变字符串的内容.

改变这一点

(LPCWSTR)"Exit"
(LPCWSTR)"Play"
Run Code Online (Sandbox Code Playgroud)

对此

_T("Exit")
_T("Play")
Run Code Online (Sandbox Code Playgroud)

或这个

L"Exit"
L"Play"
Run Code Online (Sandbox Code Playgroud)