鹿我所录的博客

记录我在学习C#中的点点滴滴,记录下以备后来人借鉴。

 

随笔分类 -  C++文档

上一页 1 2 3 4 5 6 下一页

整理的各类C++知识
vc++ mfc中拖动效果的实现 借助于CImageList
摘要:拖动是界面编程频繁使用的一个效果,在windows系统下可谓大行其道。纵观时下的应用软件几乎各个都支持各种各样拖动的效果,windows7更是把拖动做到了极致。其实说起来拖动的实现也很简单,对于有句柄的对象都可以通过MoveWindow或SetWindowPos实现位置变动,而没有句柄的对象实现拖动无非就是做些参数修改,说到底实现拖动就是在OnLButtonDown、OnMouseMove和OnL... 阅读全文

posted @ 2015-11-19 17:20 鹿我所录 阅读(4038) 评论(1) 推荐(0)

VC++ CArchive及简单的文件操作方法
摘要:CArchive 方法用于存取文件 我向你推荐的是使用CArchive,它的使用方法简单且功能十分强大。首先还是用CFile声明一个对象,然后用这个对象的指针做参数声明一个CArchive对象,你就可以非常方便地存储各种复杂的数据类型了。它的使用方法见下例。 //对文件进行写操作 CString strTemp; CFile mFile; mFile.Open("d:\... 阅读全文

posted @ 2015-11-15 21:24 鹿我所录 阅读(7887) 评论(0) 推荐(0)

如何动态添加菜单/菜单项、子菜单、右键菜单
摘要:有关菜单的操作主要用到CMenu类,当然也可用相应API函数,CMenu类只是MFC对API中操作菜单的函数的封装而已。 不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服。 若是SDK编程,那就用API吧 。 CMenu menuMain,menu1; //首先 定义CMenu对象 一、 创建菜单,有两种方法 1. 用LoadMenu函数从资源加载 menuMain.LoadMenu(I... 阅读全文

posted @ 2015-11-13 15:22 鹿我所录 阅读(8947) 评论(1) 推荐(0)

VC++ 如何让ScrollView视图显示滚动条
摘要:CSize sizeTotal; sizeTotal.cx = 4000;//值设大点 sizeTotal.cy = 3000;//值设大点 SetScrollSizes(MM_TEXT, sizeTotal);显示滚动条的时,在view图的cpp中调用以上代码即可显示. 如果想一开始就显示的话,那就直接在 初始化的时候就调用 如果在过程中调用的话,那就在 需要调整的地方调用 与之配套的,还有几... 阅读全文

posted @ 2015-11-13 11:02 鹿我所录 阅读(1604) 评论(0) 推荐(0)

VC++ GDI 总结 一一 CBitmap类
摘要:class CBitmap : public CGdiObject { DECLARE_DYNAMIC(CBitmap) public: static CBitmap* PASCAL FromHandle(HBITMAP hBitmap); // Constructors CBitmap(); BOOL LoadBitmap(LPCTSTR lpszResou... 阅读全文

posted @ 2015-11-13 08:24 鹿我所录 阅读(5366) 评论(0) 推荐(0)

VC++ error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
摘要:在使用诸如:CArray或是 CList等类时,经常会出现此错误 此错误的原因是由于自定义的类的数组项时 有一个操作如 Add() 在这个操作中,实际上需要一个 = 操作,但是这个 =操作在 自定义类中没有实现,于是,程序自动去它的parent 类 也就是 CObject 类去找,但是却找到个这个类的 = 是一个 private 于是就报了这个错误. 知道了原因解决方法自然就有了,那就是在自... 阅读全文

posted @ 2015-11-12 11:49 鹿我所录 阅读(5336) 评论(0) 推荐(0)

VC++ 在使用 CImage 的Draw 输入一个图像时,有时候会造成图像失真严重,解决的方法如下
摘要:VC++ 在使用 CImage 的Draw 输入一个图像时,有时候会造成图像失真严重,解决的方法如下 失真主要是由于变形造成的.只要设置一下变形的模式就可以了 ::SetStretchBltMode(*pDc, HALFTONE); ::SetBrushOrgEx(*pDc, 0, 0, NULL); img.StretchBlt(*pDc, 20, 132, 140, 198, SRCCOP... 阅读全文

posted @ 2015-11-12 10:23 鹿我所录 阅读(2108) 评论(0) 推荐(0)

VC++ 中CDC与HDC的区别以及二者之间的转换
摘要:MFC类的前缀都是C开头的 H开头的大多数是句柄 这是为了助记,是编程读\写代码的好的习惯. CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类). CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄. 记住下面的一句话,会有助于你的理解. MFC的类,是在用window API语句开发出来的有一定功能的... 阅读全文

posted @ 2015-11-12 02:24 鹿我所录 阅读(1531) 评论(0) 推荐(0)

BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像
摘要:BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。完整的BASE64定义可见 RFC1421和 RFC2045。编码后的数据比原始数据略长,为原来的4/3。在电子邮件中,根据RFC822规定,每76个字符,还需要加上一个回车换行。 转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。数据不足3byte的话,于缓冲... 阅读全文

posted @ 2015-11-11 23:36 鹿我所录 阅读(4311) 评论(0) 推荐(0)

VC 使用OnCtlColor函数来改变控件颜色(引用)
摘要:在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor);参数nCtlColor用于指定控件的类型,可以是:.CTLCOLOR_BTN 按钮控件.CTLCOLOR_DLG... 阅读全文

posted @ 2015-11-05 08:13 鹿我所录 阅读(11422) 评论(0) 推荐(0)

VC++ 对话框程序响应键盘消息的处理方法的说明(非常重要)
摘要:基于MFC对话框的应用程序在响应按键消息和热键方面都力不从心,CDialog类的消息循环中去掉了TranslateAccelerator函数,因此不能响应热键;同时由于对话框上可能有很多控件,且默认情况下这些子窗口已经截获了焦点,因此键盘消息已经被控件捕获了;同时为了实现控件焦点切换和对话框默认行为... 阅读全文

posted @ 2015-11-04 08:58 鹿我所录 阅读(9873) 评论(0) 推荐(0)

VC++ 迭代器 iterator, const_iterator, const iterator
摘要:迭代器 iterator, const_iterator, const iterator迭代器iterator的作用类似于指针。(1)iterator只有针对制定的容器才有效。例如:vector vec;vector::iterator itr;对于vec来说,itr.begin()指向的是vec的... 阅读全文

posted @ 2015-11-03 17:39 鹿我所录 阅读(874) 评论(0) 推荐(0)

VC++ 解决在鼠标移动时,光标闪烁的问题。其实本质是 ON_SETCURSOR的用法
摘要:在调用Windows API函数SetCursor设置光标时,可能会碰到闪烁的问题:移动鼠标,光标在Class Cursor(即注册窗口类时指定的Cursor)与预设Cursor之间闪烁。在MSDN上有关SetCursor函数的备注中强调,如果Class Cursor非空,那么每当鼠标移动,系统都会... 阅读全文

posted @ 2015-11-03 08:03 鹿我所录 阅读(5277) 评论(0) 推荐(0)

VC++ MFC获取对话框上控件的位置
摘要:CRect rect;GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标ScreenToClient(&rect);//转换为对话框上的客户坐标 阅读全文

posted @ 2015-10-29 17:32 鹿我所录 阅读(5692) 评论(0) 推荐(0)

MFC 对话框响应OnChar()
摘要:最近在写程序时,出现了对话框里面不接收键盘消息的情况,特别搜索了以下内容MFC中对话框是不会直接响应OnChar和OnKeyDown消息的,会被 其它控件拦截,测试时发现不会进入这两个函数,必须重定义PreTranslateMessage()虚函数才能正确地 进入这两个消息函数,具体实现如下: ... 阅读全文

posted @ 2015-10-29 11:23 鹿我所录 阅读(5037) 评论(0) 推荐(0)

VC++ 判断文件或文件夹是否存在的快捷方法 _access
摘要:_access函数int _access( const char *path, int mode );int _waccess( const wchar_t *path, int mode );参数path 文件或目录路径。 mode 读/写特性。 返回值 如果文件包含特定... 阅读全文

posted @ 2015-10-27 00:40 鹿我所录 阅读(1330) 评论(0) 推荐(0)

VC++ CStatic控件背景透明且改变其文本时,文字重叠解决方法
摘要:最近在项目中将CStatic控件设置为背景透明且在一个定时器函数改变其文本,结果CStatic的文字重叠了。解决该问题的方案是:从CStatic类派生自己的静态文本控件。其实设置背景透明,也就是在CStatic重画时,返回一个空刷子而已,所以改变文本并没有改变上次残留的背景,从而导致重叠现象。为了解... 阅读全文

posted @ 2015-10-26 21:27 鹿我所录 阅读(2435) 评论(0) 推荐(0)

VC++中StretchBlt图像失真问题的解决办法
摘要:在 VC 中使用 StretchBlt 会碰到一些与点阵图大小缩放相关的一些问题。在扩展一个点阵图时,StretchBlt必须复制图素行或列。如果放大倍数不是原图的整数倍,那么此操作会造成产生的图像有些失真。如果目的矩形比来源矩形小,那么StretchBlt在缩小图像时就必须把两行(或列)或者多 ... 阅读全文

posted @ 2015-10-26 16:06 鹿我所录 阅读(1688) 评论(0) 推荐(0)

VC++ 如何使窗体最大化或是最小化
摘要:最大化最小的使得的函数是ShowWindow函数 ShowWindow(SW_SHOWMINIMIZED);//最小化 ShowWindow(SW_SHOWMAXIMIZED);//最大化 ShowWindow(SW_RESTORE);//还原 ------- PostMessage(hwnd,WM... 阅读全文

posted @ 2015-10-26 14:20 鹿我所录 阅读(7325) 评论(0) 推荐(0)

VC++ 两种动态调整控件位置的方法(CButton设置为Radio形式会出现错误)
摘要:1 ((CButton*)GetDlgItem(IDC_CHECK1))->MoveWindow(182, cy - 232, 30, 20); 2 ((CButton*)GetDlgItem(IDC_CHECK2))->MoveWindow(182, cy - 2... 阅读全文

posted @ 2015-10-26 14:06 鹿我所录 阅读(1283) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 下一页

导航