VC/MFC/Windows编程
文章平均质量分 92
whucv
C#、WCF、并行编程
三维建模与图形图像处理(OpenGL/OSG)、VC/MFC
superliuwhu@126.com
展开
-
解决VC中图像缩小失真的问题:利用CDC::SetStretchBltMode
最近在处理图像放大缩小时,发现使用StretchBlt和StretchDIBitsStretchDIBits函数都有很大的失真问题存在。搜索MSDN(http://msdn.microsoft.com/zh-cn/library/s5a0ksxd(v=VS.80)),发现可以利用原创 2011-08-16 22:27:13 · 3058 阅读 · 0 评论 -
VC6.0下Xtreme ToolkitProv13.2做简单MDI界面
源程序链接首先如上篇文章所示安装XTP,using mfcas static library,使用unicode,编译生成相应lib文件,直至没有错误。VC选项设置。Tools|Options分别配置头文件路径 C:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v13.2.1\Source库文件路径 C:\Prog原创 2012-07-25 11:40:39 · 3564 阅读 · 0 评论 -
在VC环境里怎么获取程序的执行时间
做算法设计时,比较算法的优劣的一种方法是看其执行所花的时间,在VC环境里怎么获取程序的执行时间呢? 方法一 VC里有两个函数: QueryPerformanceFrequency (); QueryPerformanceCounter(); 可以用来计算. 例如:{ LARGE_INTEGER litmp;转载 2012-08-08 19:20:07 · 4009 阅读 · 0 评论 -
CHtmlView填充表单和模拟单击事件
源代码免费下载链接1、新建单文档应用程序,选中为CHtmlView视图基类。2、导入人人网的ico,import.ID改为IDI_ICON_RENREN将此ico复制粘贴到工具栏3、在view头文件加入下面代码#include "mshtml.h" //使用IHTMLDocument2接口#include //使用CComVariant原创 2012-08-09 19:55:31 · 8528 阅读 · 4 评论 -
线程进程函数调用对话框Updatedata错误
MFC对象不支持多线程操作。MSDN这样解释的: In a multi-threaded application原创 2011-08-12 22:25:36 · 3833 阅读 · 3 评论 -
建立动态链接库DLL
建立动态链接库DLL有两种方式,一种是MFC应用程序向导,一种是Win32方式建立,初学者利用MFC的AppWizard(dll),可以快速建立DLL框架,然而更推荐用Win32方式创建,代码精炼。如图新建一DLL工程,为了与应用程序相区别,DLL名字前加一大写字母U,选择OK。有三种DLL可以选择,这里选择第三个,包含导出符号的DLL,选择Finish。将给出Dll项目的一些原创 2011-08-15 22:04:02 · 1256 阅读 · 0 评论 -
关于前置声明与C++中头文件相互包含的几点问题
一个前置声明是指在程序员尚未给出完整定义之前对一个标示符(一个类型、一个变量或者一个函数)的声明。一个很简单的例子就是我们在函数A中使用了函数B,但是函数B的声明在函数A之后,这个时候,就需要对函数B进行前置声明,实际上就是在函数A之前提供一个函数B的原型(prototype)。这种现象其实在C语言编程中我们已经习以为常了,在C++中亦是如此,只不过在编写较大规模程序的时候,由于定义了较多的类,而转载 2012-08-17 22:33:53 · 3076 阅读 · 2 评论 -
MFC学习总结 (67个技巧) dlg 上建立View
http://www.cnblogs.com/cy163/archive/2006/10/18/532871.html1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnIn转载 2012-08-22 21:07:14 · 2457 阅读 · 0 评论 -
VC中树形控件(CTreeCtrl)的使用
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); 创建一个窗口,dwStyle中可以使用以下一转载 2012-08-23 15:48:19 · 1867 阅读 · 0 评论 -
ArchieOpenGL基础教程第二课:搭建OpenGL框架② 添加全屏控制
要实现的功能:选择菜单“View\Full Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态。 在VC++6.0中我们用AppWizard按默认方式生成单文档界面的应用程序框架。OpenGL基本二维空间显示参照前述。1、菜单项“View\Full Screen”实现全屏显示①在CMainFrame类中,增加如下三个成员变量private:原创 2012-11-04 19:33:52 · 1354 阅读 · 0 评论 -
VC编辑器输入字符会替换掉原来字符解决方法
这是两种不同的编辑方式,分别为插入和改写状态插入就是在字符之间插入新的字符,原字符不变!改写就是用新字符替换掉原来的字符!切换这两种状态的按键是键盘上的Insert键。原创 2012-12-06 20:40:03 · 4667 阅读 · 0 评论 -
typedef BOOL(WINAPI *MYFUNC) (HWND,COLORREF,BYTE,DWORD);语句的理解
首选先看一下typedef的四个用途和两个陷阱用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声转载 2013-01-12 22:33:11 · 3589 阅读 · 0 评论 -
键盘消息处理
PreTranslateMessageMFC中PreTranslateMessage是GetMessage(...)函数的下一级操作,即GetMessage(...)从消息队列中获取消息后,交由PreTranslateMessage()处理,若其返回FALSE则再交给TranslateMessage和DispatchMessage处理(进入WindowProc); 如果用SendMess原创 2013-01-15 16:32:33 · 2981 阅读 · 0 评论 -
VS2010 C++环境下DLL和LIB文件目录及名称修改
DLL工程,Debug版本下输出文件由basetool.dll basetool.lib 改为basetoolD.dll basetoold.lib 需设置:1、配置属性-常规-目标文件名 $(ProjectName) 加d2、配置属性-连接器-常规-输出问件 由 加d3、配置属性-连接器-高级-导入库,设置文件名$(OutDir)$ProjectName)d.lib4、如原创 2013-01-15 22:47:43 · 11455 阅读 · 1 评论 -
CListCtrl使用技巧
以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windo转载 2012-08-07 11:41:57 · 879 阅读 · 0 评论 -
轻松实现类VC界面
Keyword coloring edit control点击打开链接原文点击打开链接源码点击打开链接下图是一个类似VC的界面,左边、底下有两个可浮动、可变大小的控制窗口。许多朋友都希望在自己的程序中实现类似的界面,因为此种类型的界面用途很广、通用性很强,所以笔者总结了一下实现的步骤,辑此一文,并提供源代码供大家参考!44.3K (最新更新:2004年2月8日)转载 2012-07-19 22:45:22 · 1563 阅读 · 0 评论 -
glut使用
1、把glut32.dll放到 windows /system目录下.2、找到OpenGL 路径,C:\Program Files\Microsoft Visual Studio\VC98\Include\GL,把glut.h粘贴到此文件夹下。3、把glut.lib和glut32.lib粘贴到C:\Program Files\Microsoft Visual Studio\VC98\Lib原创 2011-11-02 12:47:56 · 990 阅读 · 0 评论 -
Windows中窗口消息
1.WM_CREATE 当一个应用程序创建窗口时,会通过消息处理函数。但是这个消息在 CreateWindow 函数返回之前被送到消息处理函数。2.OnSize(UINT nType, int cx, int cy) 是用来响应窗口大小变化CAnimationView::OnSize(UINT nType, int cx, int cy) 参数: nType 指定了要求的调原创 2011-11-02 13:28:45 · 708 阅读 · 0 评论 -
怎样去掉VC中的空文档
在App::InitInstance()中加入红色代码即可。 // Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); cmdInfo.m_nShellCommand = CCommandLineInfo::F原创 2012-02-25 18:46:10 · 673 阅读 · 0 评论 -
什么头文件可以放在StdAfx.h
今天新建了一个对话框文件然后把对话框的头文件加到StdAfx.h中了,然后报告找不到对话框资源的ID。要明白一点,所有VC框架产生的类源文件的第一行必须是#include "StdAfx.h",也就是说StdAfx文件最先被编译。那么不会利用View、Doc、App中的变量或代码的类、结构体和其他头文件都可以加到StdAfx.h里,全局变量和函数也可以加到这里。由向导产生的对话框类的IDD原创 2012-02-25 19:48:55 · 1938 阅读 · 0 评论 -
VC编程给工具栏添加提示信息
只要在提示符栏输入\n,\n前面的文字在状态栏显示,\n后面的文字在鼠标移到对应的工具栏上时即可显示。原创 2012-03-02 21:00:14 · 1113 阅读 · 0 评论 -
FileDialog选择多个文件,如何得到它们的路径
void CDqfView::OnButton1(){// TODO: Add your control notification handler code hereCFileDialog dlg(TRUE, "xls", NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,"Excel file(*.xls)|*.xls");转载 2012-03-07 22:57:16 · 2796 阅读 · 0 评论 -
Gallery路径
文件合并对话框ogx点击打开链接C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Gallery原创 2012-03-08 22:34:04 · 732 阅读 · 0 评论 -
char默认为无符号型,BYTE=unsigned char printf double型用%f scanf double型用%lf
char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。printf的%f说明符的确既可以输出float型又可以输出double型。根据“默原创 2012-03-10 16:15:20 · 2241 阅读 · 0 评论 -
typedef 用法
typedef到处都是,但是能够真正懂得typedef使用的不算太多。对于初学者而言,看别人的源码时对到处充斥的typedef往往不知所错,而参考书又很少,所以在此给出一个源码,供大家参考 #include #include /* 避免Visual C的for与标准for的不同 */#define for if (0); else for /* dim(a)转载 2012-04-17 17:47:01 · 765 阅读 · 0 评论 -
exit函数
在C语言的main函数中我们通常使用return (0);这样的方式返回一个值。 但这是限定在非void情况下的,也就是非void main()这样的形式。 exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。 exit(0) 表示程序正常退出, exit(1)/exit(-1)表示程序异常退出。 exit() 结束转载 2012-05-10 22:40:11 · 744 阅读 · 0 评论 -
枚举目录下的目录和文件CFileFind
void ListFolder(CString sPath) { CFileFind ff; BOOL bFound; bFound = ff.FindFile(sPath + "\\*.* ");//找第一个文件 while(bFound)//如果找到,继续 { bFound = ff.FindNextFile()转载 2012-06-08 16:18:37 · 2568 阅读 · 0 评论 -
MFC选择目录SHBrowseForFolder
char szPath[MAX_PATH]; //存放选择的目录路径 CString str; ZeroMemory(szPath, sizeof(szPath)); BROWSEINFO bi; bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.pszDisplayNa转载 2012-06-08 16:09:09 · 3891 阅读 · 0 评论 -
VC项目ClassView缺少视图类解决方法
关闭项目后删除项目下扩展名为*.aps,*.clw,*.ncb,*.opt文件后,重新打开。原创 2012-06-12 14:38:31 · 1107 阅读 · 0 评论 -
OnOpenDocument指定打开文档的默认类型
IDR_MAINFRAME字符串资源中包含7个子串,分别以\n结束,即如下格式:\n\n\n\n\n\n\n(1)CDocTemplate::windowTitle,主窗口标题栏上的字符串,MDI程序不需要指定,将以IDR_MAINFRAME字符串为默认值。(2)CDocTemplate::docName,缺省文档的名称。如果没有指定,缺省文档的名称是无标题。(3)CDocTemp原创 2012-07-14 19:27:32 · 2297 阅读 · 0 评论 -
VC新建目录CreateDirectory、得到exe存放路径GetModuleFileName、获取当前目录GetCurrentDirectory、CFileDialog设置打开默认路径
创建多级目录void CreateFolder(char *FilePath){ char FilePath2[MAX_PATH]=""; for (int i =0; i< MAX_PATH; i++) { if (FilePath[i] =='\\'||FilePath[i] =='/') { DWORD dwAttr=GetFileAttr原创 2012-05-07 16:04:57 · 11806 阅读 · 1 评论