加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 从编辑控件中获取文本(Pure Win32 API)

发布时间:2020-12-16 10:20:08 所属栏目:百科 来源:网络整理
导读:我一直试图让这个工作年龄相似,但没有用(悲伤的脸). int iChars = GetWindowTextLength (GetDlgItem(handle,ID))+1; // Room for ''char* pstrText;pstrText = (char*) malloc (sizeof(char)*iChars);if (pstrText != NULL) { //GetWindowText (GetDlgItem
我一直试图让这个工作年龄相似,但没有用(悲伤的脸).

int iChars = GetWindowTextLength (GetDlgItem(handle,ID))+1; // Room for ''
char* pstrText;
pstrText = (char*) malloc (sizeof(char)*iChars);
if (pstrText != NULL) {
    //GetWindowText (GetDlgItem(handle,ID),pstrText,iChars);
        GetDlgItemText(handle,ID,iChars);
}
return pstrText; // Memory gets freed after it returns

工作范例:

char* MWC::System::TextBox::GetText(){
    int len = SendMessage(handle,WM_GETTEXTLENGTH,0);
    char* buffer = new char[len];
    SendMessage(handle,WM_GETTEXT,(WPARAM)len+1,(LPARAM)buffer);
    return buffer;
}

解决方法

wParam参数在这里是错误的:

SendMessage(handle,(WPARAM)len,(LPARAM)buffer);

由于零终止符,您应该传递len 1.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读