Win32编辑控件默认文本

时间:2017-07-09 17:40:05

标签: c winapi

(注意:这可能更像是编程风格/架构问题)

创建主窗口(但尚未显示)时,我的窗口过程接收WM_CREATE;这是我为编辑控件调用CreateWindow的地方:

    case WM_CREATE:
        hwndEdit = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("edit"), L"Default text",
        WS_CHILD | WS_VISIBLE | ES_LEFT | ES_AUTOHSCROLL,
        10, 10, 150, 24, hWnd, (HMENU)ID_EDIT,
        hInst, NULL);
        break;

并按预期"默认文字"显示在编辑控件中。

我知道我也可以使用SendMessage或SetWindowText。

所以,我有三个API调用来做我想做的事 - 我应该使用哪一个?

最好的, 克里斯

1 个答案:

答案 0 :(得分:0)

如果在CreateWindowEx中设置文本简单方便,请执行此操作。

如果出于某种原因,不方便,请使用SetWindowText

在这种情况下,您可能不想将L"Default Text"用作CreateWindowEx中的默认文字。

由于lpWindowName是可选的,您可以通过NULL将其留空。

或者,您可以使用对您的应用程序更有意义的内容,例如L"(Loading...)"