- 博客(26)
- 收藏
- 关注
转载 MFC中对话框的数据交换(DDX)和数据校验(DDV)
MFC中对话框的数据交换(DDX)和数据校验(DDV)DDX : dialog data exchangeDDV : dialog data validation文档描述MFC中的DDX DDV机制,如何使用DDX_和DDV_ 函数和定制自己的DDX_ ,DDV_函数;Dialog Data Exchange概要:对话框的数据交换不依赖于任何宏来实现,全部依赖于C++代码实现,唯一特别之处在于
2007-03-12 08:57:00
1038
转载 from VC的IDE使用技巧大全:
from VC的IDE使用技巧大全:------------------------------opt 工程关于开发环境的参数文件。如工具条位置等信息; .aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他. .clw ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此
2006-12-09 11:46:00
925
转载 GDI+中的圆角矩形
GDI+是对GDI的一个令人兴奋的扩展,但由于某些原因,它没有提供绘制圆角矩形的函数,虽然我们可以在GDI+中使用GDI中的函数,但这样一来我们没办法在圆角矩形中使用GDI+中的纹理和透明色等新特性。怎么办?GDI+中有一个GraphicsPath 的类,我们可以用它构造各种形状并且可用任何画刷来填充这些形状。本源码中提供了一个可以加到任何工程中的函数,并用它来绘制了一个圆角矩形,矩形的远郊程度可
2006-12-08 16:08:00
1076
转载 GDI+编程(二)使用画笔
画笔常用于绘制图形的轮廓.GDI+的画笔除了具有常见的色彩和宽度属性外,还具有对齐方式,线帽,变换方式等属性。GDI+中通过Pen类来定义画笔对象。 (一)、构造与使用画笔 Pen(brush, width); //用颜色与线宽构造一个画笔 Pen(color, width); //用画刷与宽度构造一个画笔例子: Pen pen(Color(255,
2006-12-08 14:45:00
1138
转载 GDI+编程基础(一)GDI+ Vs GDI
GDI+编程基础(一)GDI+ Vs GDI下载源代码一、GDI GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行。例如,我们可以在不改变程序的前提下,让能在Epson点式打印机上工作的
2006-12-08 14:15:00
964
转载 『VC++技术内幕』学习笔记(5)
『VC++技术内幕』学习笔记(5) 第五篇:基本事件处理 我们已经知道MFC库应用程序框架调用CView视图类的虚函数OnDraw来完成屏幕显示。其实CView和CWnd类包含了几百个成员函数,在MSDN中可以看
2006-12-05 21:00:00
960
转载 映射模式简介
『VC++技术内幕』学习笔记 第六篇:映射模式 在此篇之前我们已经学会了在窗口显示图形,更准确的说是在窗口指定位置显示图形或文字,我们使用的坐标单位是象素,称之为设备坐标。看下面语句: pDC->Rectangl
2006-12-05 20:55:00
1872
原创 一个关于时钟的非常简单的小例子
在View类中:第一步:View.h中:声明:int x;第二步:View.cpp中:void CScrollTextView::OnDraw(CDC* pDC){ CScrollTextDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; TRACE("this is a lit
2006-12-05 10:46:00
833
转载 专题: 关于Timer
SDK编程笔记 — 计时器篇 两个计时器API的讨论 etTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。 SetTimer的函数原型如下:UINT_PTR SetTimer( HWND hWnd, UINT_PTR nI
2006-12-05 09:45:00
1286
1
原创 专题:添加进度条
当打开一个.vec类型的文件时,在状态栏处显示进度:第一步: 新建一个类 CProgStatusBar 继承CStatusBar状态栏类;第二步:在MainFrm主框架类,添加进度条状态栏,//在MainFrm.h中: 添加头文件: #include"ProgStatusBar.h" 添加进度条: CProgStatusBar m
2006-12-04 11:17:00
1046
原创 发现:获取状态条的不同方法
也拿上个专题来说:它使用的方法如下: char text[100]; CMainFrame *pMainFrame=(CMainFrame *)AfxGetApp()->GetMainWnd(); wsprintf(text,"mouse.x=%d mouse.y=%d",point.x,point.y); pMainFrame->m_wndStatusBar.Se
2006-12-04 08:52:00
855
原创 发现:关于Shift键
原来左右两个Shift键因为编码的不同,都分别有不同的标识,就拿上个专题的代码来说:void CMainFrame::OnUpdateKeyShift(CCmdUI *pCmdUI) { pCmdUI->Enable(::GetKeyState(VK_LSHIFT) } VK_LSHIFT:说明左边的Shift键按下的时候程序有响应,但是对右Shift键并没有说明,当我们按下右Shif
2006-12-04 08:38:00
1185
原创 错误处理:error C2018: 未知字符“0xa1”
编译时产生的错误如下:error C2018: 未知字符“0xa1”;说明:这可能是从其他文本资源复制代码进来导致的字符转换的问题,有看不见的非法字符,估计在头尾部分。解决办法:把代码照原样重新敲进去或者删除一下空格即可.
2006-12-03 21:07:00
11098
2
原创 专题:编辑状态栏
第一步: //添加状态显示框,在MainFrm.cpp中 static UINT indicators[] ={ ID_SEPARATOR, // 状态行指示器 ID_SEPARATOR, // 状态行指示器 ID_LINEBAR, //新增的状态显示框 ID_RECTANGLEBAR, ID_INDICATOR_CLOCK,//时钟 ID_
2006-12-03 21:00:00
1450
原创 专题:图形绘制
专题二:图形绘制 提纲:属性方面的设置(添加)画图位图,文件操作的简单介绍CRgn类的介绍Normalize()函数鼠标的捕获具体内容:一、 属性方面的设置:1. 添加画笔和画刷 //实现对图形属性的设置(1)在View类当中添加画笔和画刷颜色的变量,并在构造函数中初始化View.h中:COLORREF
2006-11-30 10:53:00
1220
转载 电脑一族的护眼方法
电脑一族的护眼方法: 眼珠运动法 头向上下左右旋转时,眼珠也跟着一起移动。 眨眼法 头向后仰并不停的眨眼,使血液畅通。眼睛轻微疲劳时,只要做2~3次眨眼运动即可。 眼睛体操 中指指向眼窝和鼻梁间,
2006-11-29 10:06:00
1279
转载 关于 SHFILEOPSTRUCT
在Windows的shellapi文件中定义了一个名为SHFileOperation()的外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等,该函数使用起来非常简单,它只有一个指向SHFILEOPSTRUCT结构的参数。使用SHFileOperation()函数时只要填写该专用结构--SHFILEOPSTRUCT,告诉Windows执行什么样的操作,以及其它重要信息就行了。SHFil
2006-11-27 16:31:00
13770
原创 利用递归的方法复制文件夹
递归的方法:CopyFolderAllFiles(CString csSourceFolder, CString csNewFolder){ CFileFind f; BOOL bFind=f.FindFile(csSourceFolder+"//*.*"); while(bFind) { bFind = f.FindNextFile();
2006-11-27 16:08:00
2059
原创 解决:关于 SHFILEOPSTRUCT 的使用遇到的问题 之二
如果我们要把一个文件复制到一个指定文件夹中,并且,它在该文件夹中的名字我们已经知道了,那么可以用以下的方法,使代码更加简单: CString StrSourceFile=strfilepath; CString StrDestFile="F://VCNET//Vector//Vector//Debug//res//table.bmp"; if(::CopyFile(StrSourceFil
2006-11-27 15:54:00
1008
原创 解决:关于 SHFILEOPSTRUCT 的使用遇到的问题
关于这个CString 和 char[]的问题终于解决了有个非常妙的解决办法,利用strcpy函数来解决CString ;CString StrSourceFile=strfilepath; //strfilepath是一个CString类型的变量,记录源文件的地址CString StrDestFile="F://VCNET//V
2006-11-27 15:40:00
877
转载 VC常用数据类型转换
VC字符串转换一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR
2006-11-27 14:31:00
640
原创 关于 SHFILEOPSTRUCT 的使用遇到的问题
想应用关于 SHFILEOPSTRUCT 实现文件的复制,在网上搜到了如下的代码:char FromBuf[]= "f://*.*/0";//如果是上面的就可以,换成下面的就不可以,为什么??//CString strFrom = "f://*.*"; LPTSTR FromBuf = (LPTSTR)(LPCTSTR)strFrom; charToBuf[]= "c://"; SHFILEO
2006-11-27 14:28:00
1689
原创 如何打开文本文件
实例一:CFileDialog myfiledlg(true,NULL,NULL,0,"文本文件(*.txt)|*.txt");myfiledlg.m_ofn.lpstrTitle=titletext; //对话框标题if(myfiledlg.DoModal()==IDOK){CString strfilepath=myfiledlg.GetPathName();//获取文件路径与名称CStd
2006-11-27 08:55:00
1467
原创 打开位图文件的方法
在View类的事件里面选中ID_FILE_OPEN,编写COMMAND函数,在这个消息响应函数中编写如下代码:CString strfilepath; //获取文件的路径 m_bOpen=true; //判断是不是打开文件void CLoadImageView::OnFileOpen(){ m_bOpen=true; CFileDialog pCFileDialog(tru
2006-11-24 21:00:00
1834
原创 画五角星
原创: #include "math.h"double pi = 3.1415926535; void CVectorView::OnDraw(CDC* pDC){ CVectorDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; double percentY,percentX1,percentX2;
2006-11-24 13:57:00
1620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人