void CMySocketDlg::OnSelchangeCombo3()
{
int nIndex=m_Pattern.GetCurSel();
if(nIndex!=CB_ERR)
{
m_DrawPattern=m_Pattern.GetItemData(nIndex);
Invalidate();
}
m_DrawPattern定义的是CString类型,但是运行时系统在这行提示出错:"warning C4244: 'argument' : conversion from 'unsigned long' to 'char', possible loss of data.应该怎么改?
{
int nIndex=m_Pattern.GetCurSel();
if(nIndex!=CB_ERR)
{
m_DrawPattern=m_Pattern.GetItemData(nIndex);
Invalidate();
}
m_DrawPattern定义的是CString类型,但是运行时系统在这行提示出错:"warning C4244: 'argument' : conversion from 'unsigned long' to 'char', possible loss of data.应该怎么改?
解决方案 »
- 请教:在用GDI+的Image显示图片时时,Image::FromFile((WCHAR*)path, FALSE);的返回值为什么为空呢
- 请教一个网页中嵌入ActiveX的问题
- 最后70分求助:关于“打印分页”的问题!HELP……
- windows2000的源程序,怎么编译?
- 关于CSocket的阻塞问题.
- 怪怪地问:debug完成后怎么输出程序的release版本。。。
- 在VC中用ADO查询ORACLE数据库为什么模糊查询查不到(字母和数字没问题,汉字查不到),但是在ORACLE的SQL PLUS里相同的SQL语句却能查到,
- 怎样设定一个区域,怎么确定鼠标再不在这个区域内
- VC2008 MFC 为水晶报表关联变量报错!求解决! 急急急! 谢谢!
- MFC开发,windows进程如何抢占cpu执行?
- 菜鸟问:我的对话框里的编辑框设置为float型,但是我得不出里面填的数据,每次显示出来都是0
- HTTP协议
取Text:Pattern.GetText(nIndex, m_DrawPattern);
取Data:m_DrawPattern.Format("%d", m_Pattern.GetItemData(nIndex));
m_DrawPattern最好改成m_strDrawPattern,用匈牙利命名法。
可以这么做:
DWORD param = m_Pattern.GetItemData(nIndex);
CString *str = (CString*)param;
不过我用的时候的前提是:在GetItemData()之前
要用SetItemData()一下:
CString *str;//一定要指针,
DWORD param = str;//或者这里用取地址符号&,如果str是CString的话
SetItemData(param);