当前位置: 代码迷 >> VC/MFC >> 两个关于VC的有关问题,望各位解答下
  详细解决方案

两个关于VC的有关问题,望各位解答下

热度:109   发布时间:2016-05-02 03:33:30.0
两个关于VC的问题,望各位解答下
1,怎样把一个字符串类型的IP地址转换成十六进制的数据保存到数组中?

 例如:CString str = ("192.168.1.1"); char szBuf[] = {0}; 怎样把192 168 1 1 这几个十进制的数字转换成16进制的数字存在szbuff数组里?




2,我新建一个单文档程序,有一个对话框,关联一个类,继承于CFormView,在响应ONPAINt消息的时候输出文本,结果程序变得很卡,经查,是内存占用太多,

 代码如下:

CPaintDC dc(this); // device context for painting
 TODO: 在此处添加消息处理程序代码
 不为绘图消息调用 CFormView::OnPaint()
  CString temp;   
  CRect rect;
  GetWindowRect(&rect);//得到对话框的范围
  ScreenToClient(rect);
  temp=_T("进入绑定流程......");
 //  CBrush brush(RGB(0,0,0));
 //  dc.FillRect(&rect,&brush);
  m_pOldFont = (CFont*)dc.SelectObject(&m_newFont);   
  // 设置   
  dc.SetBkMode(TRANSPARENT); //设置背景为透明!   
  dc.TextOut (rect.left+40,rect.top+90 ,temp);
  dc.SetTextColor(RGB(0,255,0));
  if (1)
  {
  temp = _T("收到WIFI搜索指令");
  dc.TextOut(rect.left+40,rect.top+180,temp);
  dc.TextOutA(rect.left+40,rect.top+270,strFrameInfo);
  }
  // 恢复以前的字体   
  dc.SelectObject(m_pOldFont); 
}
------解决思路----------------------
引用:
如果不用什么控件,怎么在对话框中显示文本?

SetWindowText

------解决思路----------------------
1.
CString str = ("192.168.1.1");
char szBuf[4];
int v0,v1,v2,v3;
sscanf(str,"%d.%d.%d.%d",&v0,&v1,&v2,&v3);
szBuf[0]=(char)v0;
szBuf[1]=(char)v1;
szBuf[2]=(char)v2;
szBuf[3]=(char)v3;

2.搜“GDI泄露检测”
------解决思路----------------------
SetWindowPos
  相关解决方案