VC++
文章平均质量分 67
小菜一枚
这个作者很懒,什么都没留下…
展开
-
(25)CreateSolidBrush函数 .
当你看到Windows显示的按钮时,背景颜色是灰色的。当你看到缺省的窗口背景时,它是白色的。当你的老板需要你创建一个黑色背景的按钮时,你会怎么样做呢?其实在Windows里先用API函数CreateSolidBrush创建画刷,然后调用FillRect函数来填充背景。这样来,不管你需要什么样的背景,都随心所欲了吧。现在先来搞懂CreateSolidBrush函数,下次再来练习FillRect。转载 2011-12-07 14:23:53 · 1109 阅读 · 0 评论 -
深入探索c/c++函数(3)---虚成员函数调用的基本过程
http://blog.csdn.net/demon__hunter/article/details/5447111学过c++一段时间都会知道,c++是依靠虚函数实现多态的,如下代码:#include using namespace std;class Base{public: virtual void Print() { cout<<"^-^"<<endl; }};转载 2012-01-12 15:03:48 · 602 阅读 · 0 评论 -
VC技巧 在程序的状态栏中实现进度条
http://tech.sina.com.cn/s/2006-03-30/1502884080.shtml作者:刘涛读者朋友们可能天天使用Visual C++这个强大的工具来开发应用程序,不知道注意到没有,Visual C++每次装载一个项目的时候,为了使项目加载过程不至于太单调,会在状态栏的左半部分会出现一个装载进度条,用来即时显示Visual C++装载项目的进度,当项目装载完毕后转载 2012-01-03 13:43:49 · 1378 阅读 · 0 评论 -
vc++窗口的创建过程(MFC消息机制的经典文章)
一、什么是窗口类 在Windows中运行的程序,大多数都有一个或几个可以看得见的窗口,而在这些窗口被创建起来之前,操作系统怎么知道该怎样创建该窗口,以及用户操作该窗口的各种消息交给谁处理呢?所以VC在调用Windows的API(CreateWindow或者CreateWindowEx)创建窗口之前,要求程序员必须定义一个窗口类(不是传统C++意义上的类)来规定所创建该窗口所需要的各种信息,转载 2012-01-02 11:32:32 · 1128 阅读 · 0 评论 -
WM_COPYDATA实现进程间数据共享
出处:Windows应用程序捆绑核心编程本文转自于 http://book.csdn.net/bookfiles/212/10021210209.shtml进程通信——使用WM_COPYDATA消息通信3.4 使用WM_COPYDATA消息通信对于少量数据可以用WM_COPYDATA方便地实现通信。由于SendMessage()是阻塞的,只有接收方响应了消转载 2012-02-07 15:05:25 · 1764 阅读 · 0 评论 -
自绘按钮的实现
http://www.vckbase.com/document/viewdoc/?id=551如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一点来说,主要是利用控件的自绘功能(Owner Draw)实现的。本篇将和各位一起定义一个XP风格的CXPButton按钮类,目的不在于介绍CXPButto转载 2012-01-05 21:30:37 · 1029 阅读 · 1 评论 -
关于CButtonST类
http://blog.csdn.net/gff82/article/details/4039190 之前,一直以为VC++下只能做出那种跟Windows 2000界面差不多的按钮风格,既单调又不美观。今天才发现原来还有CButtonST类,而且做出的按钮是相当的漂亮。现在就把CButtonST类的一些函数摘列如下: CButtonST类主要包括BtnST.h、BtnS转载 2012-01-05 21:27:17 · 650 阅读 · 0 评论 -
在你的程序中如何使用CButtonST类
在你的程序中如何使用CButtonST类原文:davide calabro翻译:xinying_ge原文出处:CButtonST v4.1下载源代码首先在你的工程中加入如下文件:BtnST.hBtnST.cpp从v3.5版本开始,CButtonST支持使用BCMenu类创建菜单。为了能够使用BCMenu,你必须在 BtnST.h中加入下面二行:#def转载 2012-01-05 21:48:01 · 793 阅读 · 0 评论 -
自绘按钮补遗
http://www.vckbase.com/document/viewdoc/?id=561(包括:改进后的CXPButton类、练习程序、练习程序答案)在《自绘按钮的实现》一文中所示范的CXPButton按钮从形状上看可以说是一个不规则按钮。我们把MFC中提供的控件成为标准控件,而其中的按钮控件则可称为规则按钮,因为它是的形状是一个规则的矩形。但是随着流线型设计在界面设计中被广泛采转载 2012-01-05 21:33:38 · 581 阅读 · 0 评论 -
C++CButtonST类
图形界面上的任意形状图形按钮作者:effortsboysZYB下载源代码摘要随着计算机的发展和普及,人们对于软件的界面美观性要求越来越高。MFC提供了很多标准控件,比如按钮控件,按钮在MFC编程中有着较高的使用频率。本文将介绍如何实现在有背景图片的情况下,任意形状按钮的自绘方法。本文使用基于对话框工程程序进行演示。关键字: VC++ 按钮 自绘 任意形状 图形一、实现原转载 2012-01-05 21:42:55 · 1046 阅读 · 0 评论 -
单文档界面大小下限设置
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { // TODO: Add your message handler code here and/or call default lpMMI->ptMinTrackSize.x = 900; //最小宽度 lpMMI->ptMinTrackSize.y = 650; //最小高原创 2012-01-02 11:35:00 · 660 阅读 · 0 评论 -
解决CButtonST按钮类在vs2005下报错问题
BtnST.h BtnST.cpp BCMenu.h BCMenu.cpp全部添加到工程下面,在vc6.0下编译能通过,但是在vs2005下编译通不过BOOL BCMenu::ModifyODMenuW(wchar_t *lpstrText,wchar_t *OptionText, int nIconNormal){原创 2012-03-09 17:12:06 · 1552 阅读 · 0 评论 -
VC中取代状态栏默认“就绪”提示
在MFC程序中如果使用默认的状态栏的话,其第一栏在空闲时显示的是“就绪”,如果用户点击菜单,还会用于显示菜单栏的提示文本,如“建立新文档”等。有时候我们不希望程序在状态栏中显示这些东西,那该怎么办呢?在MFC中,是用主框架类中的CStatusBar对象m_wndStatusBar来管理状态栏的。CStatusBar中有一个SetPaneText的函数可用于设置状态栏中的文字。我们在CMai转载 2012-01-09 15:40:08 · 1906 阅读 · 0 评论 -
换要求 reinterpret_cast、C 样式转换或函数样式转换
1>d:\program\visual studio 2008\sunxin1_5\sunxin1_5\sunxin1_5.cpp(71) : error C2664: “MessageBoxW”: 不能将参数 2 从“const char [15]”转换为“LPCWSTR”1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换解决办法转载 2012-01-07 19:43:14 · 2640 阅读 · 0 评论 -
SetWindowRgn函数
SetWindowRgn函数可以设定窗口的多种边界剪切域,而不是像SetWindowRect只能设置矩形的外包边界。因此利用SetWindowRgn能够实现任意不规则的窗口边界。实现非常个性化的窗口,但是如果通过SetWindowRgn将窗口的中部的区域剪切掉,使得绘制窗口时不绘制,从而形成一个完全透明的”洞“,从这个洞可以看到当前窗口下面的窗口。鼠标单击被剪切掉的区域时,鼠标消息会传到当转载 2012-01-05 21:41:08 · 764 阅读 · 0 评论 -
绘图用的函数及矩形类CRect和矩形结构RECT
绘图一般在视图类的(屏幕/打印机)绘图消息响应函数OnDraw中进行,例如:void CTestView::OnDraw(CDC* /*pDC*/) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return;转载 2011-12-07 19:32:10 · 5781 阅读 · 0 评论 -
MFC中CWnd类及其派生类对话框、消息处理、窗口操作
http://hi.baidu.com/xiaorida21/blog/item/8d8eb77a22eedee52e73b39e.htmlCWnd类我们在屏幕上看到的所有对象都和窗口有关,它们或者派生于CWnd,属继承关系,如对话框、工具栏、状态栏、子控件;或者被CWnd合成,属服务员与服务对象关系,如图标、菜单、显示设备。CWnd类封装的窗口操作主要包含窗口的创建和销毁、操作窗口风转载 2011-12-07 15:46:15 · 1408 阅读 · 0 评论 -
MFC应用程序中处理消息,创建窗口的过程,关闭窗口(非模态窗口),打开模式对话框等的函数调用顺序 .
MFC应用程序中处理消息的顺序· MFC应用程序创建窗口的过程· MFC应用程序关闭窗口的顺序(非模态窗口)· MFC应用程序中打开模式对话框的函数调用顺序· MFC应用程序中关闭模式对话框的顺序· 打开无模式对话框的顺序 MFC应用程序中处理消息的顺序1. AfxWndProc()该函数负责接收消息,找到消息所属的CWnd转载 2011-12-07 14:22:17 · 2500 阅读 · 0 评论 -
VC++6.0关于分割窗口的CSize初始大小不起作用问题的解释
首先多谢小虫同学一直关注我的博客,昨日小虫同学按照我的分割窗体的文章举一反三自己写了一段代码,但是运行后发现问题,即,分割后显示的大小和CSize设置的初始大小不一样,那么我们现在来看一下这段代码:BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext){// TODO: Add y转载 2011-12-08 15:40:23 · 1324 阅读 · 0 评论 -
(全)MoveWindow and SetWindowPos
MoveWindow只能设置窗口的大小和位置;SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层--always on top就可以用这个函数、或者把指定的窗口放在另一个窗口的下层,等等)。 没有什么优缺点可言,只是功能上的大小有别。你完全可以不用MoveWindow,而只用SetWindowPos;但是,在只要设转载 2011-12-08 16:26:00 · 961 阅读 · 0 评论 -
RegOpenKeyEx和RegCreateKeyEx函数
由于电脑经常会关闭,或者应用程序也会经常关闭,但有一些参数是经常需要保存。比如当你打开程序,并设置了窗口的大小,想每次打开时都设置窗口为上次打开的大小。这样就需要保存窗口的大小,那么窗口大小的参数保存到那里呢?其实在Windows里最方便的做法,就是保存到注册表里。又比如游戏登录时,总是想保存最后一个登录的用户,那么也需要保存这个用户到注册表里。其实注册表是Windows保存系统配置的数据库,比如转载 2011-12-09 10:17:13 · 1628 阅读 · 0 评论 -
RegSetValueEx和RegDeleteValue函数 .
上一次说到怎么创建注册表的键,但接着下来的问题就是怎么样保存数据到注册表里。注册表使用树形的方式管理数据,所以它的扩展和访问都是比较灵活的。不过注册表是系统重要信息库,每当Windows系统加载时,都首先从硬盘里读取它出来,才知道每台电脑所有硬件配置信息,然后再加载不同的驱动程序。因此,注册表作为系统重要的文件,不要往里面写超过2K的数据大小,这样可以提高系统的速度。下面就来介绍一下怎么样保存一个转载 2011-12-09 10:52:18 · 2823 阅读 · 0 评论 -
CSplitterWnd 单文档拆分视图
简单例子: 1. 在父框架中嵌入一个CSplitterWnd成员变量: CSplitterWnd m_wndSplitter1; CSplitterWnd m_wndSplitter2; 2. 重载父框架的CFrameWnd::OnCreateClient成员函数: BOOL CMainFrame::OnCreateClient(LP转载 2011-12-10 20:51:28 · 1834 阅读 · 0 评论 -
GetWindowRect和GetClientRect(转)
原文:http://blog.chinaunix.net/u/25372/showart_304363.htmlGetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏转载 2011-12-09 20:49:58 · 510 阅读 · 0 评论 -
SDL控件随窗口变化(解决编译无错误但运行不出来!!)
在单文档程序中,想让调整对话框时控制跟着变,在onsize里设置就好,当然前提是加个判断CWnd* pCtrl=GetDlgItem(IDC_SLIDER1);if(pCtrl)否则窗口中的控件还没有建立,就会编译 链接都可以 但就是运行会出错 ,会有以下的错误原创 2011-12-11 13:29:05 · 1009 阅读 · 0 评论 -
memset函数详细说明
1。void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2。例子#includevoid main(){char *s="Golden Global View";clrscr();memset(s,'G',6);printf("%s",s);getchar()转载 2011-12-12 22:29:30 · 418 阅读 · 0 评论 -
遍历文件夹并建成目录树
http://www.vckbase.com/document/viewdoc/?id=620遍历文件夹并建成目录树作者:北京林业大学 李少杰前些日子,我在做程序中遇到这样一个问题,要用树型控件快速浏览指定文件夹中的文件,经过一番周折,终于做出来了,想到有些仁兄可能遇到和我相同的困难,所以将我的做法写出来,希望对大家有些帮助!(本文程序运行效果图)转载 2011-12-21 15:54:57 · 1019 阅读 · 0 评论 -
利用GetPrivateProfileString读取配置文件(.ini)
转载:http://blog.csdn.net/cherryt/article/details/1512668配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);转载 2011-12-22 16:18:18 · 1006 阅读 · 0 评论 -
自绘按钮的实现
http://blog.chinaunix.net/uid-21658818-id-116917.html 下载本文示例工程如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件外观这一点来说,主要是利用控件的自绘功能(Owner Draw)实现的。本篇将和转载 2012-05-24 16:52:53 · 1044 阅读 · 0 评论