从MFC类继承的基本方式
来源:互联网 发布:php做app后端 编辑:程序博客网 时间:2024/05/19 16:33
Version VS2008
继承CString类的基本方式
#pragma onceclass CPathString :public CString{public:CPathString(void);virtual ~CPathString(void);CString GetFileExtend(void);CString GetFileName(void);CString GetFileBase(void);CString GetFilePath(void);using CString::operator =;};
这是实现文件
#include "StdAfx.h"#include "PathString.h"CPathString::CPathString(void){}CPathString::~CPathString(void){}CString CPathString::GetFileExtend(void){CString s;int nSlash = ReverseFind('\\');int nDot = ReverseFind('.');if (nDot != -1 && nDot > nSlash)s = Mid(nDot + 1);return s;}CString CPathString::GetFileName( void ){CString s;int nSlash = ReverseFind('\\');if (nSlash != -1)s = Mid(nSlash + 1);elses = GetString();return s;}CString CPathString::GetFileBase( void ){CString s = GetFileName();int nDot = s.ReverseFind('.');if (nDot != -1)s = s.Left(nDot);return s;}CString CPathString::GetFilePath( void ){CString s;int nSlash = ReverseFind('\\');if (nSlash != -1)s = Left(nSlash);return s;}
void CInherentView::OnDraw(CDC* pDC){CInherentDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return;// TODO: add draw code for native data hereCString s;CPathString path;static TCHAR buff[MAX_PATH];::GetModuleFileName(NULL, buff, MAX_PATH);path = buff;CSize sz = pDC->GetTextExtent("A", 1);int y = 0;s.Format("File Extension: \"%s\"", path.GetFileExtend());pDC->TextOut(2, y, s);y += sz.cy;s.Format("File Name: \"%s\"", path.GetFileName());pDC->TextOut(2, y, s);y += sz.cy;s.Format("File Base: \"%s\"", path.GetFileBase());pDC->TextOut(2, y, s);y += sz.cy;s.Format("File Path: \"%s\"", path.GetFilePath());pDC->TextOut(2, y, s);y += sz.cy;}
引发我的思考 ReverseFind函数的操作对象 当path调用时 path作为隐藏的参数传到函数中 函数中所有的成员变量和成员函数前面都应该加上这个参数
- 从MFC类继承的基本方式
- MFC view 继承类的直接使用方式
- 类的继承方式
- 类的继承方式
- 类的继承方式
- 类继承的各种方式
- MFC类继承图
- 对类的继承的基本认识
- C++类的继承的基本认识
- 从本质认识JavaScript的原型继承和类继承
- 共有继承 私有继承 保护继承 派生类的三种继承方式小结
- 继承的简单理解,原型对象继承,类继承,混合方式继承
- C++类的默认继承方式为保护继承
- javascript的类定义和基本继承
- 继承的基本演示
- 继承的基本实现
- 继承的基本用法
- 继承的基本使用
- yuv420(planer) to bgr24 to bmp
- 关于自适应布局的处理
- 分析java中clone()方法 (转载+修改)
- 整理一下xcode快捷键全集
- 按周调度任务支持实现
- 从MFC类继承的基本方式
- 如何实时查看mysql当前连接数?
- Linux gpio 中断应用(转载)
- HDU 1002 A + B Problem II大数相加
- java中堆(heap)和堆栈(stack)的区别
- 解决远程调用Jmeter需要启动jmeter-server.bat出错的问题【端口被占用】
- 各位兄弟姐妹,我在看《超兽武装》求鄙视。
- 如何在不解压.gz包的情况下,grep文件内容?
- [编程之美] 瓷砖覆盖地板