博客首页
注册
建议与交流
排行榜
加入友情链接
推荐
投诉
搜索:
帮助
zz
weiliming.cublog.cn
管理博客
发表文章
留言
收藏夹
· 编程
· 多媒体
}
· Direcshow
博客圈
音乐
· 我喜欢
相册
文章
· 生活
· 编程
}
· asp.net
· c/c++
}
· BCB
· VC
· 算法
· 网络
· LTI
· Meshlab
· vcf
· VCG
· wix
· 数据库
· UML
· Matlab
· 命令行
· 编程工具
· 多媒体
}
· Direcshow
· DirecX
· software
· 未整理
首页
关于作者
姓名: 职业: 年龄: 位置: 个性介绍:
||
<<
>>
||
我的分类
文章列表 - VC
按钮控件(button)
<DIV> <DIV class=tit> </DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text> <P>按钮控件根据其风格属性可派生出:命令按钮(Pushbutton)、检查框(Check Box)、单选按钮(Radio Button)、组框(Group Box)和自绘式按钮(Owner-draw Button)。<BR> 命令按钮是指可以响应鼠标点击的小矩形子窗口。命令按钮的作用是对用户的鼠标单击作出反应并触发相应的事件,在按钮中既可以显示正文,也可以显示位图。<BR> 选择框控件可作为一种选择标记,可以有选中、不选中和不确定三种状态。当一个选择框处于选择状态时,在小方框内会出现一个“√”。<BR> 单选按钮控件一般都是成组出现的,具有互斥的性质,即同组单选按钮中只能有一个是被选中的。当单选按钮处于选择状态时,会在圆圈中显示一个黑色实心圆。<BR> 组框用来将相关的一些控件聚成一组。<BR> 自绘式按钮是指由程序而不是系统负责重绘的按钮。<BR> 此外,选择框、单选框还有一种不确定状态,这时检查框呈灰色显示,不能接受用户的输入,以表明控件是无效的或无意义的。 <TABLE cellSpacing=1 cellPadding=1 width="97%" align=center bgColor=#ffffff b……
查看全文
发表于:2008-06-14 ┆
阅读(114)
┆
评论(0)
无闪烁画图 zz
<DIV> <DIV align=left><STRONG><FONT color=#000066 face=宋体><BR><FONT size=2>显示图形如何避免闪烁</FONT></STRONG><BR><FONT size=2> 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈</FONT></FONT></DIV> <DIV align=left><FONT color=#000066 face=宋体><BR><STRONG><FONT size=2>我的一些观点。</FONT></FONT></STRONG></FONT></STRONG></DIV> <DIV align=left><FONT color=#000066 face=宋体><BR><FONT size=2><STRONG>1、显示的图形为什么会闪烁?</STRONG><BR> 我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在……
查看全文
发表于:2008-06-03 ┆
阅读(88)
┆
评论(0)
vc 添加自定义消息及消息处理函数 zz
<DIV> <H2><FONT face=宋体 size=1> <H2 style="MARGIN: auto 0cm"><SPAN lang=EN-US style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; COLOR: black; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold"><STRONG>vc </STRONG></SPAN><SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; COLOR: black; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold"><STRONG>添加自定义消息及消息处理函数分<SPAN lang=EN-US>5</SPAN>步</STRONG>:<SPAN lang=EN-US> </SPAN></SPAN></H2> <H2 style="MARGIN: auto 0cm"><SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; COLOR: black; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold"><SPAN lang=EN-US>1.</SPAN>在要添加消息的类头文件中定义宏<SPAN lang=EN-US> <BR> </SPAN></SPAN><SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 14pt; COLOR: black; mso-bidi-font-family: 'Courier New'; mso-bidi-font-weight: bold"><SPAN lang=EN-US>#define WM_xxx WM_USER+n(n>=0);</SPAN></SPAN></H2> <H2 style="MARGIN: auto 0cm"><SPAN style="FONT-……
查看全文
发表于:2008-04-29 ┆
阅读(248)
┆
评论(0)
CListCtrl使用技巧 zz
<DIV> <DIV class=postbody> <P>以下未经说明,listctrl默认view 风格为report<BR></P> <HR style="WIDTH: 100%; HEIGHT: 2px"> <H3><SPAN style="COLOR: rgb(153,51,102)"><SPAN style="COLOR: rgb(153,51,0)">1. CListCtrl 风格</SPAN></SPAN></H3> <P> LVS_ICON: 为每个item显示大图标<BR> LVS_SMALLICON: 为每个item显示小图标<BR> LVS_LIST: 显示一列带有小图标的item<BR> LVS_REPORT: 显示item详细资料</P> <P> 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”</P> <P><BR></P> <HR style="WIDTH: 100%; HEIGHT: 2px"> <H3><SPAN style="COLOR: rgb(153,51,0)">2. 设置listctrl 风格及扩展风格</SPAN></H3> <P> LONG lStyle;<BR> lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style<BR> lStyle &= ~LVS_TYPEMASK; //清除显示方式位<……
查看全文
发表于:2008-04-20 ┆
阅读(303)
┆
评论(0)
对话框背景色的设置 zz
<P><STRONG>方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。</STRONG></P> <P><STRONG><BR></STRONG>---- 其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对话 框设置为蓝色背景和红色文本,步骤如下:<BR>---- ① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。<BR>---- ② 在CExampleDlgApp ::InitInstance()中添加如下代码:<BR>BOOL CExampleDlgApp: : InitInstance ( )<BR>{<BR>…<BR> CExampleDlgDlg dlg;<BR> m_pMainWnd = &dlg;<BR>//先于DoModal()调用,将对话框设置为蓝色背景、红色文本<BR> SetDialogBkColor(RGB(0,0,255),RGB(255,0,0));<BR> int nResponse = dlg.DoModal();<BR>…<BR>}<BR>---- 编译并运行,此时对话框的背景色和文本色已发生了改变。值得注意的是:在调用DoModal()之前必须 先调用SetDialogBkColor,且此方法是将改变应用程序中所有的对话框颜色,并不能针对某一个指定的对 话框。<BR></P> <P><STRONG>方法二:重载OnPaint(),即WM_PAINT消息。有关代码如下(以上例工程为准):</STRONG></P><STRO……
查看全文
发表于:2008-04-19 ┆
阅读(83)
┆
评论(0)
VC中坐标系的建立 zz
<p><a name="21748417"></a> </p> <p>建立一个合适的 <br><br>坐标系可以为我们的绘图带来很大的方便 。下面介绍一下如何在VC中建立我们想要的坐标系。<br>一 设备坐标和逻辑坐标<br> 设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设 备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,设备坐标的X轴向右为正,Y轴向下为 正,坐标原点位于窗口的左上角。<br> 逻辑坐标(Logical Coordinate)是系统用作记录的坐标。在缺省的模式(MM_TEXT) 下,逻辑坐标的方向和单位与设备坐标的方向和单位相同,也是以像素为单位来表示的,X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。逻辑坐标和设 备坐标即使在缺省模式下其数值也未必一致,除了在以下两种情况下:<br> 1. 窗口为非滚动窗口<br> 2. 窗口为滚动窗口,但垂直滚动条位于滚动边框的最上端,水平滚动条位于最左端,但如果移动了滚动条这两种坐标就不一致了。<br> 在VC中鼠标坐标的坐标位置用设备坐标表示,但所有GDI绘图……
查看全文
发表于:2008-04-15 ┆
阅读(165)
┆
评论(0)
CArray 详解 zz
<DIV> <DIV class=tit> </DIV> <DIV class=date>2007-12-04 18:40</DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text> <P>template<class TYPE,class ARG_TYPE>class CArray:public CObject <BR>参数 <BR>TYPE <BR>模板参数指定存储在数组中的对象的类型。TYPE是一个由CArray返回的参数。ARG_TYPE <BR>模板参数指定用于访问存储在数组中对象的参数类型。通常是一个对TYPE的参考。ARG_TYPE是一个传递给CArray的参数。 <BR>说明 <BR>CArray类支持与CArray相似的数组,但是必要时可以动态压缩并扩展。数组索引从0开始。可以决定是固定数组上界还是允许当添加元素时扩展当前的边界。内存对上界是连续地分配空间,甚至一些元素可为空。和CArray一样,CArray索引元素的访问时间是不变的,与数组大小无关。 <BR><BR>提示 <BR>在使用一个数组之前,使用SetSize建立它的大小和为它分配内存。如果不使用SetSize,则为数组添加元素就会引起频繁地重新分配和拷贝。频繁地重新分配和拷贝不但没有效率,而且导致内存碎片。 <BR>如果需要一堆数组中的个别数据,必须设置CDumpContext对象的深度为1或更大。 <BR>……
查看全文
发表于:2008-03-31 ┆
阅读(354)
┆
评论(0)
VC 初学者必看 zz
<P><EM>author:AaronSpark</EM> </P> <DIV> <DIV class=archiver_postbody><FONT size=2><STRONG>1.文档 视图 框架窗口间的关系和消息传送规律</STRONG> <BR><BR> 在MFC中M$引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。(这一结构在MFC中的OLE,ODBC开发时又得到更多的拓展)因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。(VC6中支持创建不带文档-视的应用) <BR> 在程序运行时CWinApp将创建一个CFrameWnd框架窗口实例,而框架窗口将创建文档模板,然后有文档模板创建文档实例和视实例,并将两者关联。一般来讲我们只需对文档和视进行操作,框架的各种行为已经被MFC安排好了而不需人为干预,这也是M$设计文档-视结构的本意,让我们将注意力放在完成任务上而从界面编写中解放出来。 <BR><BR> 在应用中一个视对应一个文档,但一个文档可以包含多个视。一个应用中只用一个框架窗口,对多文档界面来讲可能有多个MDI子窗口。每一个视都是一个子窗口,在单文档界面中父窗口即是框架窗口,在多文档界面中父窗口为MDI子窗口。一……
查看全文
发表于:2008-03-31 ┆
阅读(272)
┆
评论(0)
CCmdUI zz
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left> </P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><STRONG><SPAN style="FONT-SIZE: 10pt">CCmdUI</SPAN></STRONG><SPAN style="FONT-SIZE: 10pt"> does not have a base class.</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><STRONG><SPAN style="FONT-SIZE: 10pt">CCmdUI</SPAN></STRONG><SPAN style="FONT-SIZE: 10pt">没有基类。</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><SPAN style="FONT-SIZE: 10pt">The <STRONG>CCmdUI</STRONG> class is used only within an <STRONG>ON_UPDATE_COMMAND_UI</STRONG> handler in a <STRONG>CCmdTarget</STRONG>-derived class.</SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><STRONG><SPAN style="FONT-SIZE: 10pt">CCmdUI</SPAN></STRONG><SPAN style="FON……
查看全文
发表于:2008-03-23 ┆
阅读(84)
┆
评论(0)
Visual C++编译器常用选项设置 zz
<DIV> <P class=MsoNormal style="BACKGROUND: white; MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">编译参数的设置。主要通过</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">IDE</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">的菜单项</SPAN><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Project->Settings->C/C++</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">页来完成。我们可以看到这一页的最下面</SPAN><SPAN lang=E……
查看全文
发表于:2008-03-19 ┆
阅读(97)
┆
评论(0)