鹿我所录的博客

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

 

2018年10月3日

【C++】C++string类总结

摘要: 一、string的初始化 首先,为了在程序中使用string类型,必须包含头文件 <string>。如下: #include <string> 注意这里不是string.h,string.h是C字符串头文件。 string类是一个模板类,位于名字空间std中,通常为方便使用还需要增加: using 阅读全文

posted @ 2018-10-03 21:39 鹿我所录 阅读(284) 评论(0) 推荐(0) 编辑

【C++】C++中的string类的用法总结

摘要: 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给 阅读全文

posted @ 2018-10-03 20:59 鹿我所录 阅读(380) 评论(0) 推荐(0) 编辑

2016年5月9日

【网络编程/C++】修改本机ip地址

摘要: 昨天学会了编程实现获取本地网卡信息,今天再接再砺学会了修改本机ip地址。其实原理很简单就是用c++调用一下dos命令而已,不得不说,dos命令实在是太强大了,当然听说还有种修改注册表的方法,不过没有试验过,所以放上调用dos命令修改本地ip地址的代码, 这个方法 是最简单的 阅读全文

posted @ 2016-05-09 09:59 鹿我所录 阅读(5738) 评论(0) 推荐(0) 编辑

2016年4月1日

MFC控件的SubclassDlgItem

摘要: MFC控件的SubclassDlgItem MFC控件的SubclassDlgItem 要在程序中创建新设计的控件,显然不能用自动创建的办法,因为对话框模板对新控件的特性一无所知.程序可以用手工方法创建控件,在调用派生类的Create函数时,派生类会调用基类的Create函数创建控件.用Create 阅读全文

posted @ 2016-04-01 16:18 鹿我所录 阅读(2333) 评论(0) 推荐(1) 编辑

MFC 不让程序显示在任务栏上

摘要: 如果是对话框程序直接在对话框的 初始化时,修改样式 阅读全文

posted @ 2016-04-01 08:11 鹿我所录 阅读(1606) 评论(0) 推荐(0) 编辑

2016年3月30日

MFC中无边框窗口的拖动

摘要: void CXXXXDialog::OnLButtonDown(UINT nFlags, CPoint point) { PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); } 要记得添加消息映射,不然这个代 阅读全文

posted @ 2016-03-30 11:07 鹿我所录 阅读(4725) 评论(0) 推荐(0) 编辑

2016年3月29日

MFC 获取图像的大小

摘要: 原来可以如此简单 阅读全文

posted @ 2016-03-29 11:59 鹿我所录 阅读(1801) 评论(0) 推荐(0) 编辑

2016年3月27日

MFC CEdit 自动换行功能

摘要: 最近在写一个程序,对话框上的CEdit控件需显示一串字符,字符可能比较长,要根据编辑框的宽度自动换行。控件属性中已经设置了Multiline为true、Auto VScroll为true,Virtical scroll为true,但还是不能换行,想请教一下该怎么做才能达到我要的效果。先谢谢了。 1\ 阅读全文

posted @ 2016-03-27 00:26 鹿我所录 阅读(3726) 评论(0) 推荐(0) 编辑

MFC CEdit改变字体大小的方法

摘要: 方法很多,这里讲解两种比较简单的方法,也是从google上搜索来的。 方法很多,这里讲解两种比较简单的方法,也是从google上搜索来的。 方法一: CWnd* pEdit; pEdit = GetDlgItem(IDC_EDIT_ONE); ASSERT(pEdit != NULL); HFONT 阅读全文

posted @ 2016-03-27 00:20 鹿我所录 阅读(2681) 评论(0) 推荐(0) 编辑

2016年3月26日

MFC 使用位图按钮,并且设置按钮的鼠标悬停效果

摘要: 系统环境:Windows 10软件环境:Visual C++ 2013 SP1本次目的:使用位图按钮,并且设置按钮的鼠标悬停效果 在用MFC开发时,界面是比较不好开发的一块。VC中自带了CBitmapButton类,但是用途不多,网上很多Button类的派生类蛮实用的,但是若是简单的位图按钮用自带的 阅读全文

posted @ 2016-03-26 23:44 鹿我所录 阅读(3459) 评论(0) 推荐(0) 编辑

2016年3月16日

MFC 关于MFC中CImage的简单使用

摘要: 首先要将#include <atlimage.h>加进来,开始时我加到stdafx.h中,但一直提示windows.h被重复引入的问题,后将其加在别的头文件中,就可以了.. --! 一、图片的载入 如果需要在界面上显示的是已经存在的图片,那么需要将待显示的图片载入至CImage对象之中,CImage 阅读全文

posted @ 2016-03-16 23:35 鹿我所录 阅读(6615) 评论(0) 推荐(0) 编辑

2016年3月15日

MFC 给对话框注册热键

摘要: 在头文件中添加: //}}AFX_MSGafx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);//(此行为加入的)BEGIN_MESSAGE_MAP(DlgYesNo, CDialog)//{{AFX_MSG_MAP(DlgYesNo) 在cpp 阅读全文

posted @ 2016-03-15 13:41 鹿我所录 阅读(373) 评论(0) 推荐(0) 编辑

2016年1月13日

C++ 里大写TRUE和小写true区别

摘要: 1.C++里大写TRUE和小写true区别true是bool型的;TRUE是int型的,VC里这个是ms自己定义的;C++规定不允许只通过返回类型不同区别两个函数2.MFC中的”false“和 “FALSE"有没区别?有区别。false是bool类型的值,一个字节大小。而FALSE是BOOL类型的值... 阅读全文

posted @ 2016-01-13 20:11 鹿我所录 阅读(1590) 评论(0) 推荐(0) 编辑

C++ MFC打开文件的流程

摘要: 打开文件的步骤如下:弹出打开文件对话框 -> 获取选择的文件,并将文件显示在视图中。我们程序中经常需要定制的操作如下:1. 定制弹出的文件对话框,例如需要修改打开文件的类型或扩展名2. 定制文件显示的行为3. 定制文件打开后的行为1. CWinApp::OnFileOpen它是ID_FILE_OPE... 阅读全文

posted @ 2016-01-13 19:42 鹿我所录 阅读(8158) 评论(0) 推荐(0) 编辑

2015年12月11日

VC++ 简单的打印功能(对话框模式下)

摘要: 不多说,直接上代码void CParamDlg::OnBnClickedButton6(){ // TODO: 在此添加控件通知处理程序代码 CDC dc; CPrintDialog dlg(TRUE, PD_ALLPAGES | PD_NOPAGENUMS, NULL); ... 阅读全文

posted @ 2015-12-11 23:30 鹿我所录 阅读(41572) 评论(0) 推荐(0) 编辑

VC++ 实现文件与应用程序关联

摘要: 日常工作中,doc文件直接双击后,就能启动word软件,并读取该文档的内容在软件中显示,这都得益于注册表的配置,我们的软件也需要实现这样的功能,该如何写注册表以及写入哪些内容呢?下面的两个函数就能实现这个功能。CheckFileRelation是检查注册表中是否已经将我们期待的文件格式与相应软件关联... 阅读全文

posted @ 2015-12-11 23:22 鹿我所录 阅读(587) 评论(0) 推荐(0) 编辑

2015年12月10日

vc++ 程序开机自启动和取消启动

摘要: //开机启动int CMainWnd::CreateRun(){ //添加以下代码 HKEY hKey; char pFileName[MAX_PATH] = {0}; //得到程序自身的全路径 DWORD dwRet = GetModuleFileName... 阅读全文

posted @ 2015-12-10 06:38 鹿我所录 阅读(1008) 评论(0) 推荐(1) 编辑

vc++ 判断文件或是文件夹是否存在,比较好的做法

摘要: #include void main(){//文件或文件夹都可以判断,最后的\\号有无都没关系if (-1!=GetFileAttributes("D:\\MyProjects\\临时程序")) //如果文件夹存在, 最后的\\号有无都没关系printf("文件夹存在\n");if (-1!=Get... 阅读全文

posted @ 2015-12-10 00:43 鹿我所录 阅读(18154) 评论(0) 推荐(0) 编辑

2015年12月9日

VC++ 最小化到托盘、恢复

摘要: 所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。一、托盘编程相关函数把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了... 阅读全文

posted @ 2015-12-09 20:39 鹿我所录 阅读(1255) 评论(0) 推荐(0) 编辑

VC++ 截屏代码,并保存为想要的格式(BMP,JPG,PNG,GIF等格式)

摘要: void CCaptionScreenDlg::Screen(char* filename){ HDC hdcSrc = ::GetDC(NULL); int nBitPerPixel = GetDeviceCaps(hdcSrc, BITSPIXEL); int nWidth =... 阅读全文

posted @ 2015-12-09 19:45 鹿我所录 阅读(2706) 评论(0) 推荐(0) 编辑

VC++ 实现VC程序启动时最小化到任务栏(完美解决闪烁问题)

摘要: 之前写的一个VC应用程序,是程序启动时就直接出现在任务栏,窗体不出现,等用户点击任务栏图标再出现窗口。和一些防火墙什么的软件类似。这种效果实现并不是很困难的,硬是找不到最好的。为什么呢?首先,在网络上找到的大部分说法都是:BOOL CBBBApp::InitInstance(){...m_pMain... 阅读全文

posted @ 2015-12-09 19:24 鹿我所录 阅读(3516) 评论(0) 推荐(0) 编辑

2015年11月25日

VC++ Post 方法 上传数据到web服务器

摘要: 最近在做一个项目,需要与WEB服务器交互一些信息。其中一项就是文件的上传与下载。现来一个上传的代码#include "stdio.h" #include "WinSock2.h" #include "iostream" using namespace std; #pragma... 阅读全文

posted @ 2015-11-25 10:43 鹿我所录 阅读(5402) 评论(0) 推荐(0) 编辑

2015年11月19日

vc++ mfc中拖动效果的实现 借助于CImageList

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

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

2015年11月15日

VC++ CArchive及简单的文件操作方法

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

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

2015年11月13日

如何动态添加菜单/菜单项、子菜单、右键菜单

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

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

VC++ 如何让ScrollView视图显示滚动条

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

posted @ 2015-11-13 11:02 鹿我所录 阅读(1539) 评论(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 鹿我所录 阅读(5250) 评论(0) 推荐(0) 编辑

2015年11月12日

VC++ error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)

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

posted @ 2015-11-12 11:49 鹿我所录 阅读(5142) 评论(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 鹿我所录 阅读(2020) 评论(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 鹿我所录 阅读(1478) 评论(0) 推荐(0) 编辑

2015年11月11日

BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像

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

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

2015年11月5日

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 鹿我所录 阅读(11182) 评论(0) 推荐(0) 编辑

2015年11月4日

VC++ 对话框程序响应键盘消息的处理方法的说明(非常重要)

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

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

2015年11月3日

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 鹿我所录 阅读(855) 评论(0) 推荐(0) 编辑

VC++ 解决在鼠标移动时,光标闪烁的问题。其实本质是 ON_SETCURSOR的用法

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

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

2015年10月29日

VC++ MFC获取对话框上控件的位置

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

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

MFC 对话框响应OnChar()

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

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

2015年10月27日

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 鹿我所录 阅读(1293) 评论(0) 推荐(0) 编辑

2015年10月26日

VC++ CStatic控件背景透明且改变其文本时,文字重叠解决方法

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

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

VC++中StretchBlt图像失真问题的解决办法

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

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

导航