mfc-控制nao机器人的pc端

今天开始做控制nao机器人的pc端,本来以为不难,但做起来遇上了很多问题,之前看过的一些理论也都忘得干净,学习新东西还是要动手做才好。

1. 使用PictureControl的SDN_CLICKED消息,发现没有反应。原因:没有勾选Notify.

2. 不知道如何在Picture Control上加载图片。

解决方法:

 1 CImage MyImage;
 2 MyImage.Load(_T("F:\\Study_Materials\\C++\\MFC\\nao-cp\\p4.jpg"));
 3 CRect rect;
 4 CWnd *pWnd= GetDlgItem(IDC_RobotIP);
 5 CDC *pDC= pWnd->GetDC();
 6 pWnd->GetClientRect(&rect);
 7 pDC->SetStretchBltMode(STRETCH_HALFTONE);
 8 MyImage.Draw(pDC->m_hDC,rect);
 9 ReleaseDC(pDC);
10 MyImage.Destroy();   

3. 调用MyDialog.DoModal,不清楚返回值。实际上,返回值是IDOK(在对应按键的按键消息里调ONOK(),则返回IDOK),IDCANCEL,IDABORT。

4. 调用子对话框,误以为子对话框关闭该对象就不存在。实际上,子对话框的对象依然存在,因此可以用到它的成员变量。但是不能用调GetAddress()之类的函数(窗口都不存在了。。)

5. 如何把CString转换为Char* ? 最简单的办法是用memcpy。

如下面:m_ips[m_ipn]是char * 类型,strIP是CString类型。

1 memcpy(m_ips[m_ipn],MyIPDlg.strIP,MyIPDlg.strIP.GetLength());//加到类变量中

6. 如何使用IPADDRESS控件,把控件的值转换为CString?

1 BYTE f0,f1,f2,f3;2 m_IP.GetAddress(f0,f1,f2,f3);
3 strIP.Format(_T("%d.%d.%d.%d"),f0,f1,f2,f3);//把IP Address控件里的值转换为CString

7. socket非阻塞通信用到select()【不是很明白,连接失败问题还未解决】,转载了一篇关于select()的博文。

8. 为何最初加载在Picture Control的图片无法显示。【还未解决】

 

 

posted @ 2014-07-15 00:50  艾普东瓜  阅读(530)  评论(0编辑  收藏  举报