- 博客(45)
- 资源 (19)
- 收藏
- 关注
转载 窗口创建和销毁过程
<br />1.PreCreateWindow() 该函数是一个重载函数,在窗口被创建前,可以在该重载函数中改变创建参数<br /> (可以设置窗口风格等等)<br /><br />2.PreSubclassWindow() 这也是一个重载函数,允许首先子分类一个窗口<br /><br />3.OnGetMinMaxInfo() 该函数为消息响应函数,响应的是WM_GETMINMAXINFO消息,允许设置窗口的最大或者<br />
2010-11-30 15:24:00 840
转载 MFC窗口位置管理分析
<br /> 在一般用MFC编写的程序的窗口客户区中,可能有好几个子窗口(具有WM_CHILD风格的窗口)。上边是工具栏,中间是视图窗口,下边是状态栏。三个窗口在框架的客户区里和平共处,互不重叠。主框架窗口的尺寸改变了,别的子窗口都能及时调整自己的尺寸以便保持相互位置关系不变,例如状态条窗口总能保持在主框架客户区底部,并且其宽度总能和主框架客户区宽度一致。工具栏窗口总能停靠在主框架的某一边不变,其宽度或高度总能和主框架客户区的宽度或高度一致,视图窗口总能填满主框架客户区的剩余空间。 <br /><br />
2010-11-30 15:15:00 779
原创 _splitpath函数 具体作用看代码
<br />#include <stdlib.h> #include <stdio.h> int main(void) { char path_buffer[_MAX_PATH]; char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; _makepath(path_buffer, "c", "//samp
2010-11-26 16:51:00 2579
转载 __cdecl __fastcall与 __stdcall
<br /><br />__cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:<br />1) 函数参数的压栈顺序,<br />2) 由调用者还是被调用者把参数弹出栈,<br />3) 以及产生函数修饰名的方法。<br />1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,<br />2、_cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的代码,所以
2010-11-26 16:49:00 379
原创 45 Day Series: CodeProject VC++ Forum Q&A - I
<br />http://www.codeproject.com/KB/cpp/cppfaq10dec04-23jan05.aspx<br /> <br />Content[10 Dec to 18 Dec 2004]Q 1.01 Is there any function to minimize the window?Q 1.02 How do I stop appearing of SQL Sever login dialog again and again?Q 1.03 How can I acces
2010-11-22 19:01:00 792
原创 Some of the Best Open Source Project's in VC++ & MFC
<br />Background<br />CodeProject has the best source code repository for VC++ developers. But another site Sourceforge.net also has some of the best quality projects available for VC++. Here I list some of the best open source projects written in Visual C
2010-11-22 18:58:00 782
原创 Windows Phone 7 Competition
<br />http://www.codeproject.com/Competitions/447/Windows-Phone-7-Competition.aspx<br /> <br /> <br />Latest articlesCurrency Converter For Windows Phone 7 by Sanchal KunnelA simple currency converter App for the windows phone 7 using a web ServiceNetflix
2010-11-22 16:06:00 486
转载 OnCtlColor函数来改变控件颜色
<br /><br />在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:<br /> afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor);<br /> 参数nCtlColor用于指定控件的类型,可以是:<br /> .CTLCOLOR_BTN 按钮控件
2010-11-22 11:15:00 714
原创 Custom Draw items inside a ListView Control
<br />Custom Draw items inside a ListView Control <br /><br />-------------------------------------------------------------------------------- <br /><br />This article was contributed by Navi Singh. <br /><br />If you do not
2010-11-22 10:57:00 511
转载 MIDI文件播放程序
<br />MIDI的意思是乐器数字接口:(Musical Instrument Digital Interface)它是早在微软开发Windows以前就有的一个用于电子键盘的标准。MIDI定义了一个传输和存储音乐信息的协议。<br /> Win32 API 提供了几种处理MIDI数据的方法。在Windows中有很多方法播放MIDI文件。这里我们讨论一种最简单的方法。 <br />ShellExecute (hWnd, "open", "c://windows//media//Canyon.mid"
2010-11-17 14:04:00 1254
转载 基于FormView界面的文档工程中改变背景色和控件颜色
<br /> [问题提出]<br /> 很多时候,改变FormView中的控件和背景颜色很重要.<br /> [问题解决]<br /> 在FormView中的视图界面也是窗口,所以完全可以用改对话框的方法改FormView.<br /> [程序实现]<br /> 假设你有了名为My的SDI或MDI的工程.有了Static控件,改变控件的字体色,再改变界面的颜色:<br /> class CMyView : public CFormView<br /> {<br /> public:<br /
2010-11-17 12:48:00 3129
转载 如何在串太长时往让其末尾显示一个省略号(在SDI或MDI的View中)
[问题提出] 如何在串太长时往让其末尾显示一个省略号(在SDI或MDI的View中)? [程序实现] 建立名为My的SDI或MDI工程. void CMyView::OnDraw(CDC* pDC) { CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDC->DrawText(CString(
2010-11-17 12:28:00 586
转载 得到视图指针
<br />[问题提出]<br /> 现在你有一个多线程的Demo,你想在多线程里处理视图指针里的函数,我们给这个函数起个名字:Put();该如何实现呢?<br /> //有两种方法可以实现你的要求:<br /> //1)第一种方法:<br /> //要是多线程不是在App.cpp里出现,那么要在多线程的.cpp中加上extern CYourApp theApp;<br /> //获得文档模板:<br /> POSITION curTemplatePos = theApp.GetF
2010-11-17 12:17:00 468
转载 基于MFC的对话框添加ToolTip的简单方法
<br />此方法适用于MFC派生类,在基于对话框的类中测试通过。具体步骤如下:<br /><br />1、选择“Project”菜单,然后“Set Active Project” 。<br />2、选择“Project”菜单 -->“Add to Project” -->“Components and Controls” -->“VC++ Components” --> “ToolTip Support” <br />3、选择“Insert” <br />4、在对话框资源中加入一个按钮,ID为IDC_To
2010-11-17 12:11:00 844
转载 改变控件内的字体颜色
<br /> [问题提出]<br /> 有时对突出问题,或要重点描述的时候,改变控件的字体颜色是很重要的事.<br /> [解决方法]<br /> 在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型:<br /> afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor);<br /> 参数nCtlColor用于指定控件的类
2010-11-17 11:53:00 754
原创 set a font for all child windows
<br /><br />This article shows how to change the font for all child windows using only one line with a callback function.<br />The idea is to create a callback function that is passed to Win32 API function ::EnumChildWindows(). Somewhere in the application
2010-11-17 11:48:00 843
转载 使对话框上的关闭按钮失效
<br />[问题提出]<br /> 有很多网友提出如何使小X的功能不好使.下面就说一下.<br /><br /> [解决方法]<br /> 用两种解决方法:<br /> 1)重载OnClose();<br /> 2)很有意思的方法:这个小X是系统菜单的一部分,所以只要获得此系统菜单的句柄,改变菜单属性即可.<br /><br /> [程序实现]<br /> 假设你已有了名为My的对话框工程.<br /> 1)建立WM_CLOSE消息的相应函数:<br />
2010-11-17 11:35:00 2122
转载 为对话框中的控件提供提示信息
<br /> [问题提出]<br /> 当用户不知道你的按钮的具体功能时,工具条提示是一个不错的方法.<br /> [解决方法]<br /> 提示功能是由MFC类库中的CToolTipCtrl来实现的.<br /> [实现程序]<br /> 假设你有了名为My的对话框的工程.首先建立一个Button,方法:在ResourceView中双击Dialog,添加Button采用默认值:IDC_BUTTON1.实现PreTranslateMessage消息的相应函数.<br /> class CMyD
2010-11-17 11:31:00 526
转载 使用SkinMagic Toolkit美化界面
<br /><br />[准备工作]<br /><br /> 1、将SkinMagicTrial.dll放置在调试目录<br /><br /> 2、设置库文件目录,在项目[连接器]的[附加依赖项]中加入库SkinMagicTrial.lib<br /><br /> 3、在项目的stdafx.h文件中加入头文件 #include "SkinMagicLib.h"<br /><br /> [创建过程]<br /><br /> 1、初始化SkinMagic库:<br /><br /> 要使用SkinM
2010-11-17 11:09:00 364
转载 设置ListView控件的完全行
<br />这个控件有个地方常常很恼人,那就是在报告视图中选中一行时,它只加亮最左边的一个栏目。<br /><br /> 为了克服这个问题,这里告诉你一个方法:向ListView控件发送一个LVM_SETEXTENDEDLISTVIEWSTYLE消息。这个消息包含一个风格位和风格位的新值:<br /><br />::SendMessage(ListCtrl.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,<br />LVS_EX_FULLROWSELECT, LVS_EX_F
2010-11-17 09:52:00 483
转载 防止在listbox中添加很多数据出现不停的刷新
<br />[问题提出]<br /> 在listbox添加很多数据的时候,由于控件不停的刷新,导致出现闪烁,如何解决?<br /> [解决方法]<br /> 再添加数据以前,禁止控件刷新,数据添加完毕以后,再刷新一次。<br /> [程序实现](其中:m_ListBox是CListBox的控件类型的变量)<br /> m_ListBox.LockWindowUpdate();//禁止本listbox刷新。<br /> for(int i=0;i<9999;i++)<br />
2010-11-17 09:36:00 1927
转载 双击列表框项启动一个与文件关联的程序
<br />Windows中有一个API函数可以打开任何类型的文件:ShellExecute(NULL,"open",lpFileName,NULL,NULL,SW_SHOWNORMAL);参数 lpFileName 是文件的全路径名。用这个变量你可以传递象“C://MyExcelFile.xls”或者“http://www.vckbase.com”启动Excel程序或者浏览器程序。如果你只是想获取与文件关联的程序名,而不是要运行程序,那么调用::FindExecutable就可以了
2010-11-16 18:53:00 471
转载 给树控件加入工具提示
<br />1.首先给树控件加入TVS_INFOTIP属性风格,如下所示:<br /><br />if (!m_ctrlTree.Create(WS_CHILD|WS_VISIBLE|<br /> TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_SHOWSELALWAYS|TVS_INFOTIP, //加入提示TVS_INFOTIP,jingzhou xu(树控件ID:100)<br /> CRect(0, 0, 0, 0), &m_wndTre
2010-11-16 18:43:00 813
转载 在TreeList中加图标
<br />[问题提出]<br /> 请问treeview控件和treectrl控件的用法有何不同呢?向如何imagelist控件中加图象呀?<br /> [解决方法]<br /> 1)<br /> HICON hicon[8];<br /> m_imageList.Create(16,16,0,8,8);<br /> hicon[0]=AfxGetApp()->LoadIcon(IDI_ICON0);<br /> hicon[1]=AfxGetApp()->LoadIcon(
2010-11-16 18:41:00 1531
转载 VC轻松实现CTreeCtrl控件双击响应
<br />ClassWizard为CTreeCtrl(树控件)添加的NM_DBLCLK(双击)消息的响应函数中带有一个NMHDR * 型指针形参:<br /><br />OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult)<br /> <br />这个陌生的指针类型常使初用树控件的编程者陷入迷茫之中。实际上我们完全不理会它,也可以实现树控件的双击响应,即在OnDblClkTree( )函数中调用树控件的成员函数CTreeCtrl::GetSelectedItem( )
2010-11-16 18:35:00 996
转载 在MFC中应用CTreeCtrl控件
<br />首先,我们要创建一个基本对话框的MFC工程MFC_TreeCRTL(名字随便给一个)。然后在资源视图中插入两个Dialog,ID分别为IDD_DIALOG11和IDD_DIALOG211,都更改Style属性为Child,Border属性为None,为它们建立两个类,分别命名为Cdialog11和Cdialog211,并在MFC_TreeCRTLDlg.CPP文件中包含dialog11.h和dialog211.h两个头文件。再导入几个资源图标作为树形控件节点的图标及装饰面板。最后在主面板上添加一
2010-11-16 18:35:00 685
转载 在状态条中显示鼠标的设备坐标与逻辑坐标
<br />显示器的设备坐标系的原点在客户区的左上角,x轴向右增长,y轴向下增长。我们要设置的逻辑坐标系的原点则在客户区的中心,x轴向右增长,y轴向上增长,如一个笛卡尔坐标系一般。<br /><br />为CChildView添加一个成员函数void OnPrepareDC(CDC * pDC, CPrintInfo * pInfo = NULL);<br /><br />void OnPrepareDC(CDC * pDC, CPrintInfo * pInfo){<br /> CRect rect;<
2010-11-16 17:27:00 423
转载 使用多功能编辑控件时注意初始化
<br />BOOL CMy***App::InitInstance()<br />{<br /> AfxInitRichEdit( ); //在这里初始化多功能控件<br /><br /> //……<br /><br /> return TRUE;<br />} <br /><br />最新评论 [发表评论] 查看所有评论 推荐给好友 打印<br /> 如果直接在程序中使用,必须调用AfxInitRichEdit()初始化,但是,如果使用CRichEd
2010-11-16 17:09:00 482
转载 互联网常见Open API文档资源
<br /><br />所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放API)。<br /> 网站提供开放平台的API后,可以吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻
2010-11-15 22:48:00 548 1
转载 20条编程经验
<br /><br />编者按:原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你能在本文中看到自己的身影。<br /> 从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的
2010-11-15 22:47:00 440
转载 四种程序启动画面的制作方法
<br /><br />1.利用组件库中的Splash Screen组件实现<br /> (1)用Photoshop等制作启动画面图像,保存为bmp格式。 <br /> (2)用Appwizard建一个基于单文档的工程Splash。 <br /> (3)在资源中插入位图资源<br /> 打开VC++的资源编辑器,用鼠标右键单击Resources文件夹,选择Import命令,插入所制作的位图。如果位图超过256色,VC会弹出一个对话框,提示位图已经插入但不能在位图编辑器中显示,确定即可。将位图ID改为
2010-11-14 13:26:00 638
原创 VC软件绘图技术
<br />VC软件绘图技术: <br /><br /><br />CBitmap* pBitmap = new CBitmap;<br />BITMAP BmpInfo;<br />CBitmap* pOldBitmap;<br />CDC* pDisplayMemDC=new CDC;<br />pDisplayMemDC->CreateCompatibleDC(pDC);<br /><br />pBitmap->LoadBitmap(IDB_TITLE_LEFT);<br />pOldBitmap=(
2010-11-14 13:17:00 622
转载 窗口和对话框
<br />在MFC下,所有的窗口类都使用了同一个窗口过程,对话框类也一样。MFC对话框过程只处理WM_INITDIALOG消息,其余都让窗口过程处理,我们只能在函数OnInitDialog()中有唯一机会处理我们的对话框的初始化工作。因而我们设计界面时要在窗口过程处理中相关消息实现我们的界面。<br /><br />b. 几个有关对话框窗口消息的处理<br /><br /> 1.WM_NCPAINT:重画非客户区消息<br /><br /> 重载此消函数,可以标题栏上为所欲为。<br /><br />
2010-11-14 13:16:00 488
转载 窗口和对话框
<br />在MFC下,所有的窗口类都使用了同一个窗口过程,对话框类也一样。MFC对话框过程只处理WM_INITDIALOG消息,其余都让窗口过程处理,我们只能在函数OnInitDialog()中有唯一机会处理我们的对话框的初始化工作。因而我们设计界面时要在窗口过程处理中相关消息实现我们的界面。<br /><br />b. 几个有关对话框窗口消息的处理<br /><br /> 1.WM_NCPAINT:重画非客户区消息<br /><br /> 重载此消函数,可以标题栏上为所欲为。<br /><br />
2010-11-14 13:08:00 1045
转载 MFC 自定义消息
<br />http://laokaddk.blog.51cto.com/MFC 自定义消息四步曲2008年07月27日 星期日 上午 08:04<br /> <br />1. 定义全局变量或宏<br /><br />#define WM_MyMessage (WM_USER + n)<br />n为数字到少大于100<br />或者用 const UINT WM_MYMESSAGE = WM_USER + n<br />一般可以加在stdafx.h 或resource.h 或*.app.h中。<br />
2010-11-13 14:08:00 388
转载 MFC制作双缓冲无闪烁的字幕滚动条
<br />原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zjyzjy.blog.51cto.com/329429/67390最近一段时间由于项目需要,需要一个字幕滚动条,所以了解了一下双缓冲的绘图方法。1. 闪烁产生原因首先,介绍一下为什么会产生闪烁。我们在绘图时收到WM_PAINT消息后,系统会调用默认的画刷来填充被Invalidate 的区域,这样由于时间差的原因,会产生闪烁的现象。2. 双缓冲原理双缓冲使
2010-11-12 22:25:00 568
原创 VS2008 如何添加H文件目录和LIB目录
<br />H文件目录:依次点击“项目——配置属性——C/C++——常规”,在“附加包含目录”中加入H文件所在的文件夹 LIB目录: 依次点击“项目——配置属性——链接器——常规”,在“附加库目录”中加入LIB所在目录 还没完,在“链接器”中找到“输入”,在“附加依赖项”中加入lua51.lib或用#pragma comment(lib,"lua51.lib")
2010-11-12 21:58:00 674
转载 VC无闪烁刷屏技术的实现
<br /> <br /><br />在实现绘图的过程中,显示的图形总是会闪烁,笔者曾经被这个问题折磨了好久,通过向高手请教,搜索资料,问题基本解决,现将文档整理出来以供大家参考.<br />1.显示的图形为什么会闪烁<br /> 我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使
2010-11-12 16:50:00 290
转载 得到消息事件处理顺序
<br /> <br />可以在窗体的消息处理函数中:<br />LRESULT CSkinWnd::WindowProc(UINT msg, WPARAM wp, LPARAM lp)<br />{<br /> static int i; <br /> char buf[32]; <br /> sprintf(buf,"%d 0x%04x/n",i++,msg); <br /> OutputDebugString(buf); <br />。。。。。。<br />}<b
2010-11-12 16:14:00 523
指针经验总结(与数组的区别)
2011-02-28
makefile详解
2011-02-24
android 九宫格数独游戏
2011-01-18
android 连连看
2011-01-18
android 资源管理器
2011-01-18
短信PDU编码解码类
2008-10-05
Linux内核情景分析.part3.rar
2008-08-24
Linux内核情景分析.part2.rar
2008-08-24
Linux内核情景分析.part1.rar
2008-08-24
ktorrent
2008-08-24
multiget
2008-08-24
Discuz
2008-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人