VC编程技巧
文章平均质量分 62
请叫我涛哥0-0
爱码字,爱生活...
展开
-
【VC编程技巧】动态链接库☞1.1调用Dll中的一个图标
引言作为一个程序员已经快3年了,但是回顾自己在编程之路上学到东西真没有多少。由于公司项目组一直是在维护七八十年代的制品,一年的新规开发量有限,而更多的是维护,作资料,渐渐的自己已开始对编程陌生了。作为一个不写程序的程序员我想这是一种悲哀,因为年轻时候的我们必须在道路上沉淀一份东西,后面的人生才不会空虚。所以我决定重新拾起技术。希望大家能够给我支持和帮助。维护这两年来,我感觉到技原创 2012-09-18 12:54:42 · 3552 阅读 · 4 评论 -
【VC编程技巧】窗体☞3.3利用CPropertySheet制作向导(或安装程序)
上一篇看了利用CPropertySheet制作配置工具,这一篇是利用利用CPropertySheet制作向导程序。关于CPropertySheet的说明就不讲了,上一篇有链接,不清楚了可以去了解一下。进入正题了。。。向导程序示例截图: 向导程序制作:1.按照上一篇说的步骤,先构造出属性Sheet和属性Page。2.通过函数:CPropertySheet::SetWizardMo原创 2014-03-12 18:02:18 · 1755 阅读 · 0 评论 -
【VC编程技巧】窗体☞3.6以渐变效果载入对话框
平时我们经常可以看到很多应用程序启动过程很酷,什么百叶窗,渐变,各种效果,今天我们看一下如何在程序中增加这种效果。一、示例展示:二、示例思路:1.首先介绍两个知识,一个是函数MoveWindow(),一个是定时器。 函数MoveWindow():改变指定窗口的位置和大小.对顶窗口来说,位置和大小取决于屏幕的左原创 2014-07-15 22:17:12 · 1175 阅读 · 0 评论 -
【VC编程技巧】窗体☞3.4利用bitmap改变对话框的背景。
效果图:代码:1.在对话框初始化函数OnInitDialog中加载bitmap,然后创建新的画刷。// CBitmapDemoDlg メッセージ ハンドラーBOOL CBitmapDemoDlg::OnInitDialog(){ CDialogEx::OnInitDialog(); // "バージョン情報..." メニューをシステム メニューに追加します。 // IDM原创 2014-07-07 13:34:02 · 1166 阅读 · 0 评论 -
【VC编程技巧】窗体☞3.5对单文档或者多文档程序制作启动画面
(一)概要:文章描述了怎样通过Visual C++ 2012或者Visual C++ .NET,为单文档或者多文档程序制作启动画面。在Microsoft Visual Studio 6.0中对于单文档程序(SDI)我们可以很方便利用微软提供的组件Visual C++ Component (Splash Screen)。因为在Microsoft Visual Studio 6.0以后的版本或者V原创 2014-07-10 19:33:51 · 1491 阅读 · 1 评论 -
【VC编程技巧】窗体☞3.7托盘程序介绍(模拟QQ消息)
所谓的托盘程序就是运行时在系统托盘区(就是桌面右下角显示时间的区域)出现一个小图标的程序。代表它运行的图标称作托盘图标。我们可以通过使用小图标来控制应用程序的状态。 (一)NOTIFYICONDATA Structure typedef struct _NOTIFYICONDATA { DWORDcbSize;//结构体大小 HWNDhWnd;//接受icon消原创 2014-07-29 14:29:03 · 1236 阅读 · 0 评论 -
【VC编程技巧】窗体☞3.8静态窗口分割
窗口分割在平时编成中用的特别多,Windows的资源管理器,编写代码的IDE(Visual Stdio,Eclipse)都有窗口分割,下面我们以单文档维例开始讲如何进行窗口分割!CSplitterWnd Classclass CSplitterWnd : public CWndCSplitterWnd类很方便的提供了窗口分原创 2014-08-06 16:37:38 · 1182 阅读 · 0 评论 -
【VC编程技巧】窗体☞3.9静态窗口分割 (固定分割线)
上一章节说明了如何静态的分割窗口,分割后窗口的分割线是可以拖动的,有的时候我们需要固定分割线,那么如何实现固定分割呢?我们需要构造出固定分割窗口类(CFixedSplitterWnd),来实现我们对窗口的固定分割,以上一章例来说明。1。新创建MFC类,从CSplitterWnd继承,并重载WM_LBUTTONDOWN ,WM_MOUSEMOVE 和 WM_SETCURSOR消息响应原创 2014-08-07 16:20:22 · 2145 阅读 · 0 评论 -
【VC编程技巧】控件☞4.4ListBox控件(打造带有复选框的ListBox)
4.4ListBox控件(打造带有复选框的ListBox)下面通过两种方式构建复选框ListBox1.对话框中插入ListBox控件(IDC_LIST1,IDC_LIST2),如下设置属性图1方式一:2.对ListBox控件(IDC_LIST1)关联控件变量m_checkListBox1,将控件变量类型CListBox -> CCheckLi原创 2014-11-06 18:46:43 · 2618 阅读 · 0 评论 -
【VC编程技巧】控件☞4.3Pictrue控件(打造成对话框分割线)
4.3Pictrue控件(打造成对话框分割线) 对话框中,添加适量的分割线会使得对话框的格局更清晰,合理。1.添加Picture控件到对话框,拖拽成一条线,就可以变成对话框中的分割线。图12.设置Picture控件属性Sunken,可以使分割线有下陷的效果。图2.3.通过关联Pictrue控件变量的ShowWindows()函数控制分原创 2014-11-06 13:24:41 · 3083 阅读 · 0 评论 -
【VC编程技巧】控件☞4.2自定义EDIT(只限字母字符输入)
4.2自定义EDIT自定义button,自定义editbox可以使button和editbox更符合自己的需求。请看下面示例:只限字母字符输入的editbox建立。1.了解函数CWnd::SubclassDlgItemBOOL SubclassDlgItem( UINT nID, CWnd* pParent ); 说明:调用这个函数可以“动态子类化”从对话原创 2014-11-05 16:14:33 · 1744 阅读 · 0 评论 -
【VC编程技巧】控件☞4.1位图Button
4.1位图Button 给按钮增加位图,或改变按钮字体,可以让按钮达到跟炫的效果;如何给按钮增加位图,和改变按钮上文字的字体?请看下面示例!1>创建对话框程序,建立如下对话框;图1资源ID说明:左边按钮ID:IDC_BUTTON1右边按钮ID:IDCANCEL2>设置button属性,设置选项如下图箭头处;图23>添加位图到工程,如下图箭原创 2014-11-04 18:28:08 · 1091 阅读 · 0 评论 -
探究MFC之Dialog窗口最大化时控件自适应
探究MFC之Dialog窗口最大化时控件自适应MFC的Dialog程序,在窗口最大化时,如何所有让子窗口(控件)按比例放大? 1. 启动VisualC++6.0,New->MFC AppWizard(exe) 创建Dialog示例程序MFC02; 2. 在ResourceView->Dialog属性对话框,选择开启最大化和最小化 3. 在原创 2017-01-14 21:56:07 · 3585 阅读 · 0 评论 -
【VC编程技巧】窗体☞3.2利用CPropertySheet制作设置工具.
前一章【VC编程技巧】窗体☞3.1利用字体对话框和颜色对话框改变静态标签中字体颜色背景. 我讲了MFC内建的资源对话框,字体对话框,颜色对话框,这一章来讲属性对话框[CPropertyShee]。在项目开发中CPropertySheet对话框非常重要,作用也非常大,如果一个非常强大的系统在运行前需要做很多配置时,我们就可以使用CPropertySheet做一个配置工具。当软件发布时,我们需要向原创 2014-03-06 18:03:46 · 1865 阅读 · 0 评论 -
【VC编程技巧】窗体☞3.1利用字体对话框和颜色对话框改变静态标签中字体颜色背景.
前面几节讲述了VC在Win32编成中,对动态库和文件的使用技术,从这章开始我们讲述VC在Win32中的界面技术。下面通过改变对话框中静态标签中字体,颜色,背景的例子,来说明如何使用字体对话框和颜色对话框。我们先看一下例子的效果:字体对话框:颜色对话框:字体对话框是利用MFC中CFontDialog,颜色对话框是利用MFC中CColorDialog;关键代码如下:1.原创 2013-12-27 14:19:57 · 2344 阅读 · 0 评论 -
【VC编程技巧】动态链接库☞1.6设计应用程序界面换肤
引言(转载请说明作者和出处):刚休完 十一长假,又加上最近公司事挺多的,十来天没更新了文章,打算后面补上。今天讲利用动态链接库来实现应用程序的界面换肤。原理是在动态链接库中创建应用程序需要的位图资源文件,当应用程序需要界面换肤时去加载新的位图资源。下面我看一个例子,这个例子同第一讲“【VC编程技巧】动态链接库☞1.1调用Dll中的一个图标”差不多。效果图:1〉创建MFCRe原创 2012-10-12 00:17:31 · 2310 阅读 · 0 评论 -
【VC编程技巧】动态链接库☞1.3MFC扩展类的导出
MFC常规DLL和扩展DLL相同点在于在于在两种DLL的内部都可以使用MFC类库,FC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL必须使用MFC 动态链接库版本。1.对于扩展DLL我们首先要了解系统提供的宏,先来看一下微软定义宏:文件:AFXV_DLL.H// default AFX_EXT_DATA and A原创 2012-09-22 03:12:29 · 1976 阅读 · 0 评论 -
【VC编程技巧】动态链接库☞1.5设计支持多国语言应用程序
引言:(转载请说明出处和作者)好的软件,要推向国际化的软件都要支持多国语言,这时毋庸置疑的,它极大增强了软件的易用性!所以让应用程序支持多国语言是非常重要的!而动态链接库可以帮助我们很快掌握这一技巧。下面通过例子程序来详细讲解创建支持多国语言应用程序。例子程序的功能: 1〉根据用户选择,弹出中文对话框还是英文对话框: 2〉点击弹出后原创 2012-09-27 02:58:56 · 2899 阅读 · 2 评论 -
【VC编程技巧】文件☞2.1EOF的误区
在编程的过程中,文件的操作是一个经常用到的问题,而关于EOF的理解大多人存在一个误区:“EOF--〉文件的结束符”!EOF是End Of File的缩写;在C语言中它是标准库stdio.h中定义的一个宏,而不是文件的结束符。/****stdio.h - definitions/declarations for standard I/O routines** Copyright原创 2012-10-15 01:57:26 · 1381 阅读 · 0 评论 -
【VC编程技巧】动态链接库☞1.4进程间共享数据
(文章转载请说明出处和作者)常用进程间共享数据方法:通过共享DLL通过内存映射文件向另一进程发送WM_COPYDATA消息今天主要介绍“通过共享DLL”来达到进程间共享数据,其他两种方式留在其他章节讲解。在Win32环境下,当进程启动时操作系统会为该进程分配4GB的虚拟内存,然后分析进程模块,为模块所需要的DLL创建虚拟内存,最后将DLL虚拟内存(含有代码页和数据页)中的代码页原创 2012-09-24 02:24:58 · 2030 阅读 · 0 评论 -
【VC编程技巧】文件☞2.3CArchive的用法
CArchive的用法CArchive 对象提供了一个类型安全缓冲机制CArchive 对象提供了一个类型安全缓冲机制。用于将可序列化对象写入 CFile 对象或从中读取可序列化对象。通常,CFile 对象表示磁盘文件;但是,它也可以是表示“剪贴板”的内存文件(CSharedFile 对象)。CArchive允许以一个永久二进制(通常为磁盘存储)的形式保存一个对象的复杂网络原创 2013-09-20 23:04:52 · 2419 阅读 · 0 评论 -
【VC编程技巧】文件☞2.4内存映像文件
内核对象和地址空间想必大家都很清楚,在这就不多说了.那么,我们说说内存映像文件~什么是内存映像文件呢?Windows会给每个进程分配4GB地址空间0x00000000~0xFFFFFFFF(32系统)这个空间仅仅是内存地址的范围,而不是计算机的物理存储RAM空间,因而又称为虚拟内存空间。它经过保留,提交到物理存储器。如果映射的物理存储器是系统分页文件那么,这叫虚拟内存,如果映射的物理存原创 2013-09-21 14:57:40 · 1646 阅读 · 0 评论 -
【VC编程技巧】文件☞2.2文件读写缓存机制和换行符(\r\n)
文件读写缓存机制文件写缓存机制是指,当从内存向磁盘文件写入数据时,实际是先将数据写入到缓存区(直到写满缓存区),再从缓存区写入磁盘文件。文件读缓存机制类似,当需要从磁盘文件读入数据到内存时,是先将数据读入到缓存区(直到读满缓存区),再从缓存区读入到内存。常用文件操作标准CFILE*读写缓存机制C++原创 2013-09-20 02:34:18 · 2354 阅读 · 0 评论 -
【VC编程技巧】文件☞2.5虚拟内存(进程通信)
在【VC编程技巧】动态链接库☞1.4进程间共享数据这一章我们讲过通过DLL共享可以实现进程间通信.今天我们讲的是通过虚拟内存来实现进程通信.从上一讲2.4我们已经知道,windows上每个进程的地址空间都是4GB(虚拟地址空间),将这个虚拟地址空间保留,提交到物理存储器(系统分页文件)时,称虚拟内存。通过虚拟内存实现进程间通信的关键示例代码://创建共享内存,写入“Hello Wo原创 2013-09-23 23:53:20 · 1574 阅读 · 0 评论 -
【VC编程技巧】文件☞2.6Windows上多级目录的创建和删除
1.Windows中没有直接能校验路径的合法性的函数。 2.Windows中对于路径的创建函数BOOL CreateDirectory( LPCTSTR lpPathName, // directory name LPSECURITY_ATTRIBUTES lpSecurityAttributes // SD);原创 2013-12-13 17:26:42 · 2320 阅读 · 4 评论 -
【VC编程技巧】文件☞2.7Windows上[浏览][打开][保存]对话框
windows程序开发中,如过涉及界面的部分 ,对于浏览对话框、打开对话框、保存对话框经常会遇到,下面看看如实使用。一、浏览对话框效果:场合:可以用来设置路径,选择目录。代码:void CBrowseFolderDlg::OnBrowse() { // TODO: Add your control notification handler code here BROW原创 2013-12-16 21:45:42 · 1547 阅读 · 0 评论 -
【VC编程技巧】动态链接库☞1.2用模块导出接口
为什么要用模块(def文件)导出接口呢?第一步,我先从函数调用方式说起,大家都知道函数调用有几种常见的方式,分别是__cdecl,__stdcall(pascall),__fastcall,和thiscall。下面我说一下这几种方式会在那些场合出现和它们的差异:__cdecl :(C和C++缺省调用方式)参数压栈顺序,从右到左;栈的清除,由调用者完成;__stdcall:(Wi原创 2012-09-19 02:41:41 · 2579 阅读 · 0 评论 -
探究MFC之Dialog系统菜单添加
探究MFC之Dialog系统菜单添加本文描述给Dialog增加系统菜单;单击对话框左上角menu弹出的菜单,我们称为该对话框的系统菜单。原创 2017-01-13 18:03:19 · 2463 阅读 · 0 评论