gpt4 book ai didi

c++ - 在 windows.h 中使用 CreateWindow 单击按钮后尝试返回 char*/string

转载 作者:行者123 更新时间:2023-11-30 19:43:02 25 4
gpt4 key购买 nike

使用 windows.h 我创建了以下窗口:

我认为没有必要编写 WINAPI WinMain 需要的明显的东西。

textToWrite = CreateWindow("EDIT",
"",
WS_BORDER | WS_CHILD | WS_VISIBLE,
290, 70, 165, 20,
hwnd, NULL, NULL, NULL
);

analize = CreateWindow("BUTTON",
"Analize",
WS_VISIBLE | WS_CHILD | WS_BORDER,
465, 70, 60, 20,
hwnd, NULL, NULL, NULL
);

Result = CreateWindow("STATIC",
getResultFromWritenText(),
WS_BORDER | WS_CHILD | WS_VISIBLE,
290, 100, 235, 20,
hwnd, NULL, NULL, NULL
);

我希望当单击“Analize”按钮时,“Result”静态窗口根据函数 getResultFromWritenText() 返回的内容返回一些内容。这是因为我不希望将相同的文本写入(textToWrite)的输出,而是基于对用户编写的内容进行分析的新字符串/字符*,知道 getResultFromWritenText() 函数会知道它并在文本字段中返回它(无论我希望它返回什么),而不是作为弹出窗口。

我该怎么做?谢谢。

最佳答案

WINAPI 采用以 null 结尾的 C 字符串作为参数。但是depending on compilation options for UNICODE ,它使用 charwchar_t

因此,如果您事先知道您是针对 UNICODE 进行编译的,则可以创建您的函数:

wstring getResultFromWritenText() { ... } 

如果您想保持灵 active ,您可以定义如下:

typedef basic_string<TCHAR> tstring;   // equivalen to string or wstring depending on options

tstring getResultFromWritenText() { ... }

完成此操作后,您可以使用该函数的结果:

Result = CreateWindow("STATIC",
getResultFromWritenText().data(),
WS_BORDER | WS_CHILD | WS_VISIBLE,
290, 100, 235, 20,
hwnd, NULL, NULL, NULL
);

关于c++ - 在 windows.h 中使用 CreateWindow 单击按钮后尝试返回 char*/string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com