gpt4 book ai didi

c++ - 如何使用 WTL 获取编辑控件的内容?

转载 作者:行者123 更新时间:2023-11-28 05:51:59 27 4
gpt4 key购买 nike

我已经在这里阅读了一些有关如何实现该目标的主题。我尝试了几个答案,但到目前为止都没有用。我只是想获取编辑控件的内容,在 WTL 中作为 CEdit 给出,并将其保存到一个最好的 std::wstring 中,但我想我无法使用 CString/TCHAR*。

先决条件:

ID of my control: IDC_LINKPASTEEDIT

Member variable IDC_LINKPASTEEDIT is assigned to via DDX MAP: m_linkPasteEdit

到目前为止我尝试了什么:

1.)

CString windowText;
GetDlgItemText(IDC_LINKPASTEEDIT, windowText, 1024);

-> GetDlgItemTextA 的参数列表错误(由 GetDlgItemText 的 DEFINE 引用)

2.)

CString windowText;
m_linkPasteEdit.GetWindowText(windowText);

-> GetDlgItemTextA 的另一个参数列表错误

我也不太清楚正确的列表,因为文档不存在并且查看定义我觉得我的论点应该是正确的。

遗憾的是我没有找到其他资源,我什至下载了一些 html 文档 WTL 库,但似乎 CEdit 没有完全记录在那里。

有什么想法吗?

编辑:

让它以一种非常非常奇怪的方式工作,在我看来这不是真正的 WTL 风格,但至少它可以工作。

1) - 在项目设置中将多字节字符集更改为 UNICODE

2) -

WCHAR windowText[1024]; 
GetDlgItemText(IDC_LINKPASTEEDIT, windowText, 1024);

通过使用 CHAR 而不是 WCHAR,也可以处理多字节,但我更喜欢宽方式。

最佳答案

CStringDDXGetDlgItemText 表明您使用的是 MFC,不是 WTL - 是这样吗?

MFC 的 GetDlgItemText有两个重载:

int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount
) const;
int GetDlgItemText(
int nID,
CString& rString
) const;

而且您的通话也不匹配。使用 CString 的形式,不带长度。

关于c++ - 如何使用 WTL 获取编辑控件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048930/

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