摘要:
实现的功能: 在一个标签控件中加入两个标签页,标签文本分别为“标签1”和“标签2”,点击不同的标签显示不同的标签页。具体步骤如下: 1. 创建一个基于对话框的MFC工程,名称设置为“TestTap”。 2. 在自动生成的对话框模板IDD_TESTTAP_DIALOG中,删除“TODO: Place dialog controls here.”静态文本框、“OK”按钮和“Cancel”按钮。添加一个Tab Control控件,并为其关联一个CTabCtrl类型的控件变量m_tab。 3. 添加两个基于MFC对话框的类,类名为CTab1Dlg,CTab2Dlg。在资源视图里,就自动新生成了两个对话 阅读全文
摘要:
报错:errorC3872:'0xa0':thischaracterisnotallowedinanidentifier或者 error C3872: "0xa0": 此字符不允许在标识符中使用这是因为直接复制代码的问题。0xa0是十六进制数,换成十进制就是160,表示汉字的开始。解决办法:在报错的代码行检查两边的空格,用英文输入法的空格替换掉。 阅读全文
摘要:
给基于对话框的应用程序添加登陆界面,也就是增加一个新的对话框。在一般的基于对话框的应用程序的CXXXApp.cpp中都会有:CXXXDlg dlg; //程序的主对话框m_pMainWnd = &dlg; //设置为主对话框,也就是所主对话框的结束也就意味着程序的结束INT_PTR nResponse = dlg.DoModal(); //弹出主对话框if (nResponse == IDOK) //根据对话框的返回值设置要执行的操作{... } else if (nResponse == IDCANCEL){... }现在就来开始添加登陆界面:1、先建好新的登陆对话框类CLoginD 阅读全文
摘要:
之前在别人电脑上写好的project,拷贝到自己电脑上后,编译就出现了问题。报了一大片类似下面的错:errorC2011:“CUserTool”:“class”类型重定义解决方法: 右键单击工程,点清理,然后重新编译生成好了。。。。 阅读全文
摘要:
今天想用STL中的vector存储多幅用IplImage结构体声明的图像,却发现存入的每一张图像都跟最后存入的图像一样。调试了半天也找不到问题出在哪里。请教了老师,老师说是深拷贝与浅拷贝的问题。IplImage这个结构体其成员都是指针,指针指向的是某一幅图像,只把指针存入vector没有用的,必须要把数据也拷贝过去。网上找到解决办法如下:IplImage* img = (IplImage*)cvClone(perImage);v.push_back(img);每次要存入的时候克隆一份,然后再存入vector里。 阅读全文
摘要:
昨天更新了软件,后来电脑就连不上网了,右下角那个图标上一把叉叉。还弹出系统通知“服务无法启动”。点击图标,显示的是”连接不可用“。试了很多方法都没有用。今晚,在朋友的帮助下,总算找到了解决办法:将winsock恢复到默认状态。操作:开始--运行--CMD--“netsh winsock reset” 。重启。原因是:由于使用360等系统清理软件,导致网络环境错误。然后通过这次还有一个收获,那就是,在电脑黑屏后尽量不要马上强制关机,多等等。朋友说,电脑黑屏是在读硬盘,若强制关机可能会丢失驱动。 阅读全文
摘要:
在VC++6.0中,编译没有错,但运行到某一步的时候就报错,走不下去了,然后一步步调试却能通过。很费解!百度后,发现是声明变量时候出了问题。然后我把变量的声明都放在了前面,就正常了~~~百度时候,额外的收获记录如下:C2143: syntax error : missing 'token1' before 'token2'C2144: syntax error : missing 'token' before type 'type'如果遇到上面这样的错误时,解决办法是把所有的数据声明放到可执行代码之前。MSDN给出下面的代码会产生 阅读全文
摘要:
首先摆好ListCtrl控件,关联成员变量m_list1在初始化中://列表控件 m_count=0; //列表控件的序号 CRect rect; // 获取编程语言列表视图控件的位置和大小 m_list1.GetClientRect(&rect); // 为列表视图控件添加全行选中和栅格风格 m_list1.SetExtendedStyle(m_list1.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); // 为列表视图控件添加4列 m_list1.InsertCol... 阅读全文
摘要:
关于鼠标响应的坐标问题。一直就搞不懂咋个点击左键时,坐标不准。原来是:一个相对于屏幕,一个相对于客户区。那就都转换为相对于屏幕的就好了撒~~~void CXXXDlg::OnLButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CString str; CRect dRect;GetDlgItem(IDC_DBD)->GetWindowRect(&dRect); //得到控件的尺寸大小,这里GetWindowRect函数得到的尺寸是相对于屏幕左上角的坐标给出的ClientToScreen(&am 阅读全文
摘要:
网上资料:工具栏中包含了一组用于执行命令的按钮,每个按钮都用一个图标来表示。当单击某个按钮时,会产生一个相应的消息,对这个消息的处理就是按钮的功能实现。将菜单中常用的功能放置在工具栏中,这样可以方便用户操作,省去了在级联菜单中一层层查找菜单项的麻烦。6.2.1 工具栏类CToolBar在MFC类库中,CToolBar类封装了工具栏的基本功能,CToolBar类的主要方法如下。(1)Create方法:该方法用于创建工具栏窗口。语法如下:BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, 阅读全文