我如何使用IFileDialogCustomize :: GetEditBoxText()方法?

时间:2011-04-20 15:17:06

标签: visual-c++

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

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

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

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

1 个答案:

答案 0 :(得分:2)

根据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