返回的结果需要进行转换一下,如下:
CString adr = _T("网址");CString text = Get);
运行结果:
你可以在文本框上右键,d出快捷菜单,点击“Add Variable”,在d出的窗口中找到“Variable name:”,输入自己定义的变量名如:m_myText,这就好比你声明了一个Edit类型的变量。在你想获得文本输入内容的地方,如下:
CString txt;
m_myTextGetWindowTextW(txt);
这样就把你输入的文本内容赋给了变量txt。
补充一下:
你还可以在文本框上右键“属性”,找到“ID”标签,定义ID,比如:IDC_MYTEXT;
然后直接在代码中
用一下方式:
GetDlgItem(IDC_MYTEXT)->GetWindowTextW(txt);
或者
GetDlgItemText(IDC_MYTEXT, txt);
方法如下:
获取
按钮
上的文本:(假设IDC_GET是按钮的ID)
CString
str;
GetDlgItemText(IDC_GET,str);
设置文本:
str="123";
SetDlgItemText(IDC_GET,str);
首先为
文本框
添加响应事件
EN_CHANGE,再为文本框关联一个变量,在EN_CHANGE的响应代码中添加如下代码就行了,
UpdateData
();
这样就会当没改变下就会更新下那个已经关联的变量了。从而可以在代码中使用了。
错误提示是说函数不能接受两个参数。这是因为命名控件造成的。MFC中很多函数名跟SDK里的都是重复的。如果你在MFC中要用API那么建议养成良好习惯在函数前面加:: 也就是改为"::GetDlgItemText(xxx,xxx)"对于第一个句柄参数你可以用this指针。::GetDlgItemText(this->m_hWnd,xxx,xxx,xxx)第二个参数是控件ID,第三个是接受的字符的缓存指针,第四个是最大接受几个字符的个数;如果你省略了"::"那么默认是使用的 MFC的CWnd类的方法。可以这样调用:CString str;this->GetDlgItemText(IDC_TEXT,str); 补充: 完蛋了,现在才发现原来已经回答了好几个你的相关问题,不知道会不会被举报刷分。 追问: 不好意思,还是不行。说明下:我把上面的GetDlgItemText和SetDlgItemText函数写在线程里了。为什么不行呢?还是有错误提示!谢谢! 回答: 错误提示是什么你也不贴上来 不过我已经大致猜出来了 既然你是写在线程函数里 那么错误提示 应该是说this不是静态变量什么的。当然啊,线程函数是不能使用类的成员的。解决方法有两个第一:定义一个全局变量保存窗口句柄,在线程函数里用全局变量。第二:把类的指针当做参数传递给线程函数。你创建线程的时候 CreateThread(NULL,0,NULL,this,0,NULL);线程处理函数:DWORD WINAPI ThreadPro(LPVOID lpvoid){ xxxxxx p = (xxxxxx )lpvoid;//关键就是这句代码了,把传进来的参数转换成类指针。"XXXXXX"是你的类名。
userInputGetWindowText(c_userInput)
c_useriput是输入编辑框控件变量这样就把编辑框中的字符传递给字符串变量c_userinput
之后对c_userinput用sizeof即可,lz还有什么不懂的可以再问
以上就是关于mfc unicode 获取网页源码乱码如何解决全部的内容,包括:mfc unicode 获取网页源码乱码如何解决、MFC获取输入框已输入的文字、求大神回答一个简单的mfc问题,怎么动态获取按钮上的文本和设置文本,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)