【C++基本功补习】定时器使用及文件路径提取
来源:互联网 发布:疯狂追星 知乎 编辑:程序博客网 时间:2024/04/30 16:27
1,定时器的使用
SetTimer(1, 1000, NULL); //启动定时器1, 定时1000毫秒, 使用默认的处理函数 OnTimer()
KillTimer(1); //关闭定时器1
处理函数的实现
void CMFCView::OnTimer(UINT_PTR nIDEvent) // CMFCView 这个可以根据项目需要变更的,它只是表明一个归属{// TODO: 在此添加消息处理程序代码和/或调用默认值switch(nIDEvent){case 1:{//AfxMessageBox("Timer is running!");//定时器时间到,强出一对话框,表明定时器已经运行。ImgProController(); //定时处理图像break;}case 2:{break;}default:{break;}}CFormView::OnTimer(nIDEvent); // CFormView 这个类不能动}
使用起来非常方便和简单,但想要它运作起来,还有两个重要点必需打通:
A,在相应的类的头文件public:下声明 afx_msg void OnTimer(UINT_PTR nIDEvent);
B,消息映射表中应当添加 ON_WM_TIMER() , 格式上独占一行
由于好久没有使用,一时间又记不全,百度好久之后才通过类向导的方式查出问题所在,故此,记录在案,以绝后患!!!
2,文件路径提取
推荐 使用 CFileDialog 类重写 自带的“打开”方法,更能精确控制对话框,也方便后续提取文件路径和文件名
CFileDialog dlg(TRUE, NULL ,NULL,OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, // OFN_NOCHANGEDIR 是指不变更当前exe工作默认目录"图像 (*.jpg; *.png)|*.jpg; *.png|视频 (*.avi; *.mp4)|*.avi; *.mp4|所有文件 (*.*)|*.*||", // 可供选择项目约束,注意组合方式NULL);//文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。dlg.m_ofn.lpstrTitle = _T("请选择 图像 或者 视频文件");// 打开文件对话框的标题名if( dlg.DoModal() != IDOK )// 判断是否获得图片return;
CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:\test\test1.txt
CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt
CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt
CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test1
GetFilePath()函数,是获取打开文件的路径的函数
GetCurrentDirectory 相对路径,随时会变
如果是工作路径, 用GetWorkingDirectory
如果是当前可执行程序, 用GetModuleFileName(NULL, p, size) 应用的绝对路径,基本不变
HMODULE module = GetModuleHandle(0);
CHAR buf[MAX_PATH];
GetModuleFileName(module, buf, sizeof buf);
- 【C++基本功补习】定时器使用及文件路径提取
- 【C++基本功补习】定时器使用及文件路径提取
- 补习C
- C补习
- (C#)常用类(文件名提取、文件路径提取、后缀名提取、数字转中文、数字转
- 补习C语言之在.h文件中定义全局变量
- C宏 补习
- C语言补习_day5
- C基础补习
- 2014-04-30工作日志:提取文件的路径及使用createprocess时,要用getmodulename获取要执行的模块的路径及调用createprocess时要记得关闭新建的进程
- Linux C定时器使用
- Linux C定时器使用
- [c++]定时器的使用
- 提取文件路径名的扩展名
- C语言基本功教程系列 文件, Socket 和 其它
- c语言头文件包含,及查找路径
- Log4j使用相对路径指定log文件及使用总结
- Log4j使用相对路径指定log文件及使用总结
- android中的OOM问题 解决原则
- 关于Hibernate的sql查询返回值的问题
- php快速排序
- android上的一个网络接口和图片缓存框架enif
- 用paint方法插入图片
- 【C++基本功补习】定时器使用及文件路径提取
- 用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()
- java学习笔记15--引用传递
- Oracle CRS的管理与维护
- 解决比较Oracle中CLOB字段问题--转自混世者的专栏
- 大学四年,我学到了什么(二)
- Android框架
- String、StringBuilder、StringBuffer
- 讨论cocos2d-x字体绘制原理和应用方案