visual-c++ - 如何使用 IFileDialogCustomize::GetEditBoxText() 方法?

标签 visual-c++

WCHAR wcText[100] = {0};
WCHAR *pText = wcText;
WCHAR **ppText = &pText;

HRESULT hr = pDialogCustomize->GetEditBoxText(dwCtrlID, ppText);

编辑框包含文本“5000”,但 GetEditBoxText 方法未返回此文本。

如何从编辑框中获取文本?

最佳答案

根据 http://msdn.microsoft.com/en-us/library/bb775908%28VS.85%29.aspx , GetEditBoxText 为您分配并返回一个字符串(您稍后必须使用 CoTaskMemFree 释放该字符串)。我假设您在函数调用后检查 wcText 数组,它是空的?这是因为 GetEditBoxText 正在更改 pText 的值。

尝试:

WCHAR *pText = NULL;
HRESULT hr = pDialogCustomize->GetEditBoxText(dwCtrlID, &pText);

if (S_OK == hr && NULL != pText)
  // function succeeded and pText points to a buffer of text that must free when done using

关于visual-c++ - 如何使用 IFileDialogCustomize::GetEditBoxText() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5732694/

相关文章:

c++ - 使用指向我的数组的指针在 C++ 中给我一个 "Unhandled exception"?

c++ - 为什么四个大于 63000 个元素的局部数组会导致堆栈溢出?

C++ 计算事件的概率

c++ - LNK1120 关于使用 lineSetAppPriorityW

c++ - temp2->next 包含什么?

.net - 在 C++/CLI 中动态加载 EXE 程序集时发生异常(无法加载文件或程序集',版本 = 1.0.3836.39802 ...)

memory-leaks - 为什么 _CrtSetBreakAlloc 不会导致断点?

visual-c++ - OpenCV图像显示失败

windows - COMDAT 段名

c++ - 解决 Visual C++ 中缺少 vwscanf 的更好方法?