首页 > 代码库 > mfc-控制nao机器人的pc端
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的图片无法显示。【还未解决】
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。