DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 384 385 386 387 388 389 390 391 392 ··· 474 下一页

2013年11月27日

摘要: fstream,istream,ofstream 三个类之间的继承关系fstream :(fstream继承自istream和ofstream)1.typedefbasic_fstream >fstream;// 可以看出fstream就是basic_fstream2.template classbasic_fstream: publicbasic_iostream3.templateclassbasic_iostream: publicbasic_istream,publicbasic_ostreamistream:1.typedefbasic_ifstream >ifstrea 阅读全文
posted @ 2013-11-27 20:47 DoubleLi 阅读(12227) 评论(1) 推荐(0)

摘要: 深度剖析消息反射机制作者:hustli 摘要:在前面我们分析了控件通知消息WM_NOTIFY,和WM_NOTIFY紧密联系的还有一个MFC新特性:消息反射。本文中,我想就这个问题作一个全面的论述,如果有错误,还望各路大虾批评指正。 什么是消息反射? 在windows里面,子控件经常向父控件发送消息,例如很多子控件要绘制自己的背景,就可能向父窗口发送消息WM_CTLCOLOR。对于从子控件发来的消息,父控件有可能在处理之前,把消息返还给子控件处理,这样消息看起来就想是从父窗口反射回来一样,故此得名:消息反射。 消息反射的由来 在windows和MFC4.0版本一下,父窗口(通常是一个对话框)会对 阅读全文
posted @ 2013-11-27 20:46 DoubleLi 阅读(717) 评论(0) 推荐(0)

摘要: 界面美化摘要本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:1.大致了解MFC框架的基本运作原理;2.熟悉Windows消息机制,熟悉MFC的消息映射和反射机制;3.熟悉OOP理论和技术;本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。正文1. 美化界面之开题篇相信使用过《金山毒霸》、《瑞星杀毒》软件的读者应该还记得它们的精美界面:图1 瑞星杀毒软件的精美界面程序的功能如何如何强大是一回事,它的用户界面则是另一回事。千万不要忽视程序的用户界面,因为它是给用户最初最直接的印象,丑陋的界面、不友好的风格肯定会影响用户对软件程序的使用。 阅读全文
posted @ 2013-11-27 20:44 DoubleLi 阅读(3165) 评论(0) 推荐(0)

摘要: 1.WindowProc是你给自己的窗口定义的窗口处理函数DefWindowProc是windows平台提供的默认窗口处理函数如果某些消息你不需要做特别的处理,调用DefWindowProc进行处理就可以了,不需要你自己再去些那些windows的"标准动作"2.根据1,显然,你只能定义WindowProc而不能定义DefWindowProc看看MFC的CWnd源码就一目了然了LRESULT CWnd::WindowProc(UINT message, WPARAM wParam, LPARAM lParam){// OnWndMsg does most of the wor 阅读全文
posted @ 2013-11-27 20:43 DoubleLi 阅读(372) 评论(0) 推荐(0)

摘要: 首先感谢大家对第一帖的支持,应一些网友烈要求下面我在关于上一贴的一些补充和说明(老鸟可以无视)这一贴是实战+理论不知道第一帖的先看第一帖:http://topic.csdn.net/u/20110710/19/5209f358-31c8-4057-b108-02155a417fd0.html1).补充个高级可重载函数PreSubclassWindow(),我的理解是允许用户在子类化之前再做一额外些处理 ,这个重载函数也是非常重要的,要引起相当的注意。可以在这里改变控件的大小,位置,窗口样式,字体 ,等等.....你能想到的能改的,都可以在这里改.2).关于Edit的补充说明:我最初的自绘方法是 阅读全文
posted @ 2013-11-27 20:42 DoubleLi 阅读(670) 评论(0) 推荐(0)

摘要: 前言:从这学期开始就一直在学习自绘控件(mfc),目标是做出一款播放器界面,主要是为了打好基础,因为我基础实在是很烂....说说我自己心得体会以及自绘控件的方法吧,算是吐槽吧,说的不对和不全的地方,或者有更好的方法,请不吝赐教。我的机器环境是:Windows7旗舰版 Service Pack 1,Visual studio 20051).重绘某个控件时,强烈推荐使用子类化方法,比如想自绘Button控件, 首先添加自己的类CMYButton 继承自 CButton ,声明一个CMYButton 对象,然后使用 SubclassDlgItem(UINT nID, CWnd* pParent ); 阅读全文
posted @ 2013-11-27 20:35 DoubleLi 阅读(748) 评论(0) 推荐(0)

摘要: 游戏制作已经开始采用C++了,却鲜有人选择使用MFC。但笔者觉得的 ASSERT(),VERIFY()和 TRACE()这几个宏很好用。所以就想自己写一个版本来适应Windows平台下不同的工程类型。提醒:ASSERT()被测试它的参数,若参数为0,则中断执行并打印一段说明消息。在 Release 版本的程序中它不起任何作用。VERIFY()和 ASSERT()很相似,区别在于在 Release 版本中它仍然有效(译者注:原作者在这里没有讲清楚,VERIFY()不会打印说明,只是会对参数表达式求值)。ASSERT()使用的时候必须保证参数表达式中不能有函数调用(译者注:ASSERT()宏在 R 阅读全文
posted @ 2013-11-27 20:19 DoubleLi 阅读(507) 评论(0) 推荐(0)

摘要: 记得原来尝试学MFC的时候觉得有一个TRACE可以在Debug时向VS的调试输出窗口输出字串符,用来调试时跟踪变量很方便。然则如果不是MFC项目或者ATL的项目的话是不能使用这个宏的。这时有一个没有什么额外消耗的办法能够做到向调试输出窗口输出。在项目中额外包含windows.h这个头文件,再使用OutputDebugString()这个函数就能够起到与TRACE()宏相同的效果。在进行一点包装就能和c中的printf一样接受不定项参数。下面程序做为范例。#include #include using namespace std;bool _trace(TCHAR *format, ...){T 阅读全文
posted @ 2013-11-27 20:18 DoubleLi 阅读(3766) 评论(0) 推荐(0)

摘要: BOOL bResult = FALSE; // 初始化WinInet 环境 HINTERNET hInternet = InternetOpen("CEHTTP", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL); if(hInternet == NULL) return ; // 打开http session HINTERNET hSession = InternetConnect(hInternet, "www.hao123.com", 80, NULL, NULL, INTERNET_SERVICE_HT 阅读全文
posted @ 2013-11-27 15:19 DoubleLi 阅读(1443) 评论(0) 推荐(0)

摘要: HDC在MSDN中的全称为:The handle of device context。通常,我们都是用来做相应的显示操作。 熟悉WIN32的朋友对于其应该不会陌生,经常采用GetDC,GetWindowDC等等来获取其句柄。而用得最多的,可能就是BeginPaint,如:view plaincopy to clipboardprint?caseWM_PAINT:HDChdc=BeginPaint(hWnd,&ps);...EndPaint(hdc,&ps);break;[cpp]view plaincopy caseWM_PAINT:HDChdc=BeginPaint(hWnd 阅读全文
posted @ 2013-11-27 15:11 DoubleLi 阅读(1458) 评论(0) 推荐(0)

上一页 1 ··· 384 385 386 387 388 389 390 391 392 ··· 474 下一页