鹿我所录的博客

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

 

06 2015 档案

C++ 设置透明背景图片
摘要:背景: 有两个图片,一个是目标背景图片, 一个是带有自身背景色彩的彩色图片 先将这彩色图片绘制到目标背景图片中, 这一步通过BITBLT就可实现。 但实现后的效果是: 目标图片上,绘制上去的彩色图片带有其本身的背景。 问题就来了, 我们想将彩色图片本身的背景去掉,应该如何解决?解决方法: 使用API... 阅读全文

posted @ 2015-06-28 14:48 鹿我所录 阅读(6676) 评论(0) 推荐(0) 编辑

C++ CBitmap,HBitmap,Bitmap区别及联系
摘要:加载一位图,可以使用LoadImage: HANDLE LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int CyDesired,UINT fuLoad); LoadImage可以用来加载位图,图标和光标 加载时可以规定加载图的映射到内存的大小: cxDesired:指定图标或光标的宽度,以像素为单位... 阅读全文

posted @ 2015-06-28 14:20 鹿我所录 阅读(8428) 评论(0) 推荐(0) 编辑

C++ 关于 CMFCPropertyGridCtrl 的使用方法 之二 (原创)
摘要:接上一节所讲,这一节咱们重点讲一下CMFCPropertyGridCtrl 所支持的数据表格的建立过程 在上一节中,咱们已经了解到了 CMFCPropertyGridCtrl 是要用到实例函数:AddProperty()。现在 咱们来具体分析一下过程 要想建立一个属性一般来讲我们先建立一个项目:如上一节中提到的 “概述”项目属性。这个属于的一个大的特点,就是这个属性并没有一个对应的值,也就是说 ... 阅读全文

posted @ 2015-06-27 08:58 鹿我所录 阅读(4487) 评论(1) 推荐(0) 编辑

C++ 关于MFC多线程编程中的一些注意事项 及自定义消息的处理
摘要:在多线程编程中,最简单的方法,无非就是利用 AfxBeginThread 来创建一个工作线程,看一下这个函数的说明:CWinThread* AFXAPI AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam,int nPriority ... 阅读全文

posted @ 2015-06-26 16:19 鹿我所录 编辑

C++ 关于 CMFCPropertyGridCtrl 的使用方法 之一 (原创)
摘要:题外话:最近在写一个重要的程序,想做的更灵活一些,于是想采用属于对话框的形式,如图所示但查了好几本大部门的C++及MFC的书,还有很多的网上的资料,这方面的介绍实在是少之又少。不过,好在VS2013是半开源的。哈哈,里抽的代码看不到,但是函数声明还是都能看到的。这为我解决问题提供了一条好的方法 ,另... 阅读全文

posted @ 2015-06-25 14:35 鹿我所录 阅读(8860) 评论(0) 推荐(0) 编辑

C++ 原来 const 中所使用的函数 必须 全都具有 const 才行
摘要:今天在写程序的时候,出现了一个错误 “对象包含与成员函数不兼容的类型限定符”,从网上查了一下,原来原因是这样子的void showPair();改成 void showPair()const; 在具有 如上图所示的函数中,如果调用了其它函数,那么其它函数也必须有 const 属性,否则就会出现 类型限定符不兼容的错误! 阅读全文

posted @ 2015-06-24 18:08 鹿我所录 阅读(625) 评论(1) 推荐(0) 编辑

C++ MFC常用函数(转)
摘要:WinExec() ExitWindowsEx() GlobalMemoryStatus() GetSystemInfo() GetSystemDirectory() GetWindowsDirectory() GetTaskmanWindow() //user32.dll中 获取任务栏窗口句柄 OpenProcessToken()打开一个进程的访问令牌 GetCurrentProcess()获取... 阅读全文

posted @ 2015-06-18 19:54 鹿我所录 阅读(1673) 评论(0) 推荐(0) 编辑

C++ VC实现对话框窗口任意分割
摘要:最近写MFC的程序,想在对话框里实现窗口的任意分割。现在网络资料一大抄,找个东西实在麻烦。总算这个很简单,很快就搞定了,写下来做个笔记。 个人认为简单问题最好就是直接贴源代码,一看就明白,说来说去反而弄不清楚,那我就少废话了,自己看吧,注释很清楚。 先来张图片 1. 新建一个MFC对话框程序MySplitterDlg。 再插入两个Dialog资源 ,这里一定要选择IDD_FORMVI... 阅读全文

posted @ 2015-06-17 18:22 鹿我所录 阅读(5188) 评论(1) 推荐(0) 编辑

C++ 关于滚动条的滚动问题
摘要:SCROLLINFO scrollinfo; GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL); switch (nSBCode) { case SB_LINERIGHT: if (scrollinfo.nPos < scrollinfo.nMax){ scrollinfo.nPos += 10; SetScrollInfo(SB_H... 阅读全文

posted @ 2015-06-17 09:26 鹿我所录 阅读(3045) 评论(1) 推荐(0) 编辑

C++ 自定义控件的移植(将在其它程序中设计的自定义控件,移植到现在的系统中)
摘要:方法很简单就是将需要的代码 复制到 新系统中就可以了,方法就是 把相关文件添加到现有的系统中,并特别注意以下问题 1\如果原设计中用到了菜单或是其它资源,相应的资源要在新的菜单中,手动添加. 目前没有发现其它好办法 2\如果有些资源名称重复的话,还需要少量的修改 源代码 3\对于无法识别到新的资源文件,可以在 源文件中添加 #include "resource.h" 4\对于新系统中,需要... 阅读全文

posted @ 2015-06-16 17:59 鹿我所录 阅读(695) 评论(0) 推荐(0) 编辑

C++ 动态创建按钮及 按钮的消息响应
摘要:动态创建的按钮 都会在消息 OnCommand 中得到处理,无论是什么消息,都会处理的 1\创建按钮 CButton* btn = new CButton(); btn->Create(_T("方法"), WS_CHILD | WS_VISIBLE, CRect(0,0,50,50), this, 2); 注意创建的最后一个参数 这个数据代表的就是创建的那个控件的ID值,相当于 这个数... 阅读全文

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

C++ Custom Control控件 向父窗体发送对应的消息
摘要:向父窗体发送消息 ,这里只讲发送 WM_NOTIFY 消息, 其它消息是相同的 在 控件中的某个函数中 设置发送消息的程序 首先定义一个WM_NOTIFY消息的专用结构. NMHDR nm; nm.code = 123456; // 这里是消息的区别代码 nm.hwndFrom = m_hWnd;//这是控件的HWND句柄 nm.idFrom = GetDlgCtrlID();//这是得到... 阅读全文

posted @ 2015-06-16 14:55 鹿我所录 阅读(836) 评论(0) 推荐(0) 编辑

C++ MFC 改变控件大小和位置
摘要:用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。void MoveWindow(int x,int y,int nWidth,int nHeight);void MoveWindow(LPCRECT lpRect);第一种用法需给出控件新的坐标和宽度... 阅读全文

posted @ 2015-06-15 15:27 鹿我所录 阅读(5357) 评论(0) 推荐(0) 编辑

C++ 使用VS2010创建MFC ActiveX工程项目
摘要:1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控件的后缀名是OCX或者DLL。一般是以OCX和动态库共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或exe解压成OCX和动态库... 阅读全文

posted @ 2015-06-14 18:18 鹿我所录 阅读(5440) 评论(0) 推荐(2) 编辑

VC++ 自定义控件的建立及使用方法
摘要:一、VC++定义自定义控件与delphi,VB有些差异。 delphi,vb在 file-new-other中建立。vc++在工具栏中就有自定义控件,但必须加入控件类型。 许多书籍都在类向导中建立。我这里介绍的是手动建立,其结果是一样的。二.建立过自定义控件类型: 2.1、把工具栏上的自定义控件放入对话框中 2.2、建立Mycontrol.h, Mycontrol.cpp文件 2.3、... 阅读全文

posted @ 2015-06-14 17:41 鹿我所录 阅读(2531) 评论(0) 推荐(0) 编辑

C++ CTreeview的checkbox使用方法
摘要:1. 消息事件 (1)鼠标点击当前ITEM的CHECKBOX:引发NM_CLICK事件并传递TVHT_ONITEMSTATEICON。 (2)鼠标点击当前ITEM的TEXT:引发NM_CLICK事件。 (3)鼠标点击新ITEM的CHECKBOX:引发TVN_SELCHANGED事件、NM_CLICK事件并传递TVHT_ONITEMSTATEICON。 (4)鼠标点击新ITEM的TE... 阅读全文

posted @ 2015-06-13 15:56 鹿我所录 阅读(1434) 评论(0) 推荐(0) 编辑

C++ vc中怎么使用SendMessage自定义消息函数
摘要:vc中怎么使用SendMessage自定义消息函数:SendMessage的基本结构如下:SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg,//消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,) WPARAM wParam, /... 阅读全文

posted @ 2015-06-12 08:15 鹿我所录 阅读(6912) 评论(0) 推荐(0) 编辑

C++ 将数据转为字符串的几种方法
摘要:收集一下: 1\将int 转为 LPCTSTR 其实LPCTSTR可以直接使用CString直接代替,无需类型强制转换 CString str; int number=15; //str="15" str.Format(_T("%d"),number); //str=" 15"(前面有两个空格;4表示将占用4位,如果数字超过4位将输出所有数字,不会截断) str.Form... 阅读全文

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

C++ 网络编程 总结
摘要:第一次用C++写程序,对C++ 只是菜鸟级别的,倒是对C#很熟悉。两者有很大的相似性。但也有不同。首先写了一个网络通讯用的小的MFC程序。发现(1)MFC写界面真的好麻烦呀。 用C#写的tab 分分钟搞定的事,用C++害得我写了两天.关键是不熟练. 还有list control 控件的图标显示. 真... 阅读全文

posted @ 2015-06-10 15:51 鹿我所录 阅读(8699) 评论(0) 推荐(0) 编辑

C++ 关于MFC List Control 控件的使用事项 原创
摘要:1\在开发项目时,使用到了 listcontrol 控件,就一些问题,做一下备注,以备以后使用 (1) 给list项目 删除所有的项目 DeleteAllItems(); (2) 给list项目 添加一个列 .InsertColumn(0, _T("编号")); (3)给list a项目 设置列的宽度 .SetColumnWidth(0, 50); (4) 在添加项目之前 可以使用 .Se... 阅读全文

posted @ 2015-06-09 13:01 鹿我所录 阅读(1937) 评论(0) 推荐(0) 编辑

C++ AfxBeginThread的介绍/基本用法
摘要:AfxBeginThread 用户界面线程和工作者线程都是由AfxBeginThread创建的。现在,考察该函数:MFC提供了两个重载版的AfxBeginThread,一个用于用户界面线程,另一个用于工作者线程,分别有如下的原型和过程:用户界面线程的AfxBeginThread用户界面线程的Afx... 阅读全文

posted @ 2015-06-07 07:44 鹿我所录 阅读(21462) 评论(0) 推荐(0) 编辑

C++ 简单实现MFC ListControl 点击列头排序
摘要:说明:SetItemData可以为每一行绑定一个DWORD类型的变量。用GetItemData可以获得这个变量。举个例子,假设CListCtrl中你需要显示某个数据表中的记录,该表有个流水号主键ID,一般这个ID值本身没有什么意义,用户也不需要看,因此在CListCtrl的可见列中,你不需要显示。但... 阅读全文

posted @ 2015-06-06 17:06 鹿我所录 阅读(6808) 评论(0) 推荐(0) 编辑

VC++ 中ListCtrl经验总结
摘要:先注明一下,这里,我们用m_listctrl来表示一个CListCtrl的类对象,然后这里我们的ListCtrl都是report形式,至于其他的如什么大图标,小图标的暂时不讲,毕竟report是大众话的使用。其次,我们这里用条款一,条款二来描述第一点,第二点,这个是参照《Effective C++》的叫法,俺觉得这么叫比较COOL :)条款一:设置ListCtrl的风格在CSDN上常常看到有人... 阅读全文

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

Vc++ 控件用法总结之List Control
摘要:1.新建对话框MFC,在对话框上放一个ListCtrl ID:IDC_PATH View:Report 2.为ListCtrl添加变量 右击->添加变量m_wndPath 3.找到OnInitDialog()函数添加如下代码: // TODO: 在此添加额外的初始化代码 m_wndPath.DeleteAllItems();//清空 m_wndPath.InsertColumn(0,_T("... 阅读全文

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

C++ CSTRINGLIST用法
摘要:CStringList类成员 构造 CStringList构造一个空的CString对象列表首/尾访问 GetHead返回此列表(不能是空的)中头部的元素GetTail返回此列表(不能是空的)中尾部的元素操作 RemoveHead从列表的头部删除元素RemoveTail从列表的尾部删除元素AddHead在列表的头部添加一个元素(或者是另一个列表中的所有元素),即产... 阅读全文

posted @ 2015-06-06 15:56 鹿我所录 阅读(2238) 评论(0) 推荐(0) 编辑

C++ MFC Tab Control控件的详细使用
摘要:1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量,... 阅读全文

posted @ 2015-06-06 14:53 鹿我所录 阅读(10182) 评论(0) 推荐(1) 编辑

C:\\MFC控件大小随窗体大小而改变
摘要:一。大小和位置都改变 1.首先为窗体类添加CRect m_rect,该成员变量用来记录窗体的当前大小。 2.在类向导里面(Ctrl+W),为窗体添加消息WM_SIZE的响应函数OnSize(); 注意if(nType==1) return;这一句必须添加,否则最小化恢复的时候会出错。 [cpp]view plaincopy voidCPaperManagementD... 阅读全文

posted @ 2015-06-06 14:13 鹿我所录 阅读(1791) 评论(0) 推荐(0) 编辑

C++ : 窗口变化相关消息 OnSize、OnSizing和OnGetMinMaxInfo,onsizeonsizing
摘要:3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。 当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFO-->WM_SIZING-->WM_SIZE。 OnGetMinMaxInfo 这个函数在窗口初始化的时候会被调用一次,当窗口大小发生改变的... 阅读全文

posted @ 2015-06-05 13:50 鹿我所录 阅读(3250) 评论(0) 推荐(0) 编辑

导航

统计

点击右上角即可分享
微信分享提示