我只想知道如何在C / C ++ GUI程序中实现void函数(例如返回字符串),并在窗口中显示输出。

您将其放在WndProc函数中还是WinMain函数的WM_CREATE情况下?还是更复杂,例如,您必须将命令提示符输出重定向到窗口?

编辑:
例如,我有...

void function() {
    cout << "Hello";
}


然后我想在GUI中实现它

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
    hwnd = CreateWindowEx(
    WS_EX_CLIENTEDGE,
    g_szClassName,
    "The title of my window",
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
    NULL, NULL, hInstance, NULL);

    // Implement function somewhere here?

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);
}

最佳答案

我认为您不需要像WndProc一样低级

通常,实现多重返回函数的最基本方法是通过引用传递,例如

void someFunction(string* aS)
{   //do something
    aS = someString;
}


应该是这样的东西

string someString;

someFunction(&someString);

ShowMessage(someString);

关于c++ - 在C/C++ Windows API中使用虚函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21894287/

10-12 12:54
查看更多