mfc unicode 获取网页源码乱码如何解决

mfc unicode 获取网页源码乱码如何解决,第1张

返回的结果需要进行转换一下,如下:

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问题,怎么动态获取按钮上的文本和设置文本,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9625316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存