关闭

关闭

封号提示

内容

首页 (新书)Visual C++编程实例教程合集.pdf

(新书)Visual C++编程实例教程合集.pdf

(新书)Visual C++编程实例教程合集.pdf

上传者: 船山区的小孩 2013-03-29 评分 5 0 198 27 899 暂无简介 简介 举报

简介:本文档为《(新书)Visual C++编程实例教程合集pdf》,可适用于IT/计算机领域,主题内容包含“十云”国家电子出规划项目计算机知说普及和软件幵发系列编程导航郎学即用‘书()VisualO编程实例教程J^^^^^^^^^^^H^Sfr^北^京希符等。

“十云”国家电子出规划项目计算机知说普及和软件幵发系列编程导航郎学即用‘书()VisualO编程实例教程J^^^^^^^^^^^H^Sfr^北^京希望电子出版社BeijingopeElectronicPrcsswwwbhpcomcn内容简介木从朽足专『】为想在较^时丨>内学会并笮握%如丨文际开发、编程的方法和技巧的初、中级编程读者而编弓的。咖丨编程分一、二两#。木|共草由个程序实例构成按%仙丨编程的:要托用划分草节:出户^(丨设^多媒体(阁形、图像、动冊丨和声咅)、丨叫络(AcUveXWt、加咖过和数据库)以^杂类等^大部分。其中用广界面设卟部分包括:按钮、编辑框、舴态柠件、绀合柩、列表恹、树视、列视、丨:几条、状态条、菜中、其他控件、对话框、义忾视窗校#、文件和文件夾、Shell、岛级用户界而。多媒体部分^拈〇、位图、打印OpenGLxDirectX、动、声芹等。网络部分包括八以卜控件、Internet、正编程、ISAPI数据库等。杂类包拈符屮处押、宏、剪贴板、彳期和时间、DLL>调忒、和^类、综合示例、扒和杂项等。|中绝人部分程序包含源代码、项丨文件和可执彳广文件读者可以夷接使^木^^次洁晰承点突出内容丨*:富,爲体范例勺软件功能紧密结合,学>』轻松、*^If的特点。木m向初中级用户和社会m:设计培训班木光盘含所朽程序的完整源代叭和演小稅序还提供了丨阳丨多媒体学软件以及•个浏览阁朽内容的树切结构浏览器。系列盘书盘书名文本著作者CD作者CD测'试者责任编辑出版、发^行者地址经排CD文本开本版次本印定销版生产者印刷者规格印次版号数价“If叫家电广出版物规划项行•|铉机知识普及和软件幵发系列编程导航即学即用丛书()^^^^(第•册)E^a乳…强焦祝平T'编%f福建等希柴多媒沐测试邰诚平北京希頊电^出版社北京海淀^<知吞路甲号mmU,网址:wwwbhpcomcnEmail:lwmhopecomcn电话:,,,,,,(发行)(门巾)>,~(编钳部)各地新华朽店、软件连锁店希梁图书输出屮心今卫北京中新联光肽旮限责任公nJ北京媛明卬刷丨•皂米><丨龟米斤木年:)!第版本ISBNC(木版卩)印张丁字月第次印刷说明:凡我社售出的产品如釘残缺,可执相关凭证勹我社调换。本书及其配套光盘汇集了年以后来自世界各地的VisualO编程好手愿意无偿公开的源程序。其中既有短至几行却非常关键的代码更有一个类的完整实现还有非常实用、大型的完整应用程序。无论对于乂丨如新手还是老手以及其他编程语言比如VB、帥丨的程序员都具有很好的参考价值。这样如果你正在用乂丨仙做开发请一定要先浏览本书也许你现在需要解决的问题他人已帮助你解决无需费时费力了。如果你能从本书中找到一个程序被你所用则购买本书就非常值得了。而事实上全书共包含大约多个程序这样找到一个程序可用的可能性非常高!没有什么可犹豫的赶紧行动吧。不过请一定注意在使用这些程序时请尊革程序作者的木人的劳动成果给出程序的出处和作者姓名。这些程序覆盖了%阳乂编程的主要应用:用户界面设计、多媒体(图形、阁像、动画和声咅)、网络(八〜父组件、比^和数据库)以及杂类。其中用户界而设计部分包括:按钮、编辑框、静态控件、组合框、列表框、树视、列视、工具条、状态条、菜单、其他控件、对话框、文档视窗模型、文件和文件夾、Shell、高级用户界而。多媒体部分包括〇、位图、打印、OpenGL、DirectX、动画、声音等。网络部分包括八以~乂控件、Intemet、圯编程、ISAP、数据库等。杂类包括字符串处理、宏、剪贴板、日期和时间、DLL、调试、和^:类、综合示例、工具和杂项。绝大部分程序包含源代码、项文件和可执行文件直接为你所用。全书按编程主要涉及的方面进行分类每一方面包含若干个程序。其中由于篇幅所限本书主要介绍程序的功能和界面:而其完整源程序和演示程序包含在光盘相关泌中。另外全部程序在%$似、冒丨^〜小丁上编译通过运彳成功。如果你在使用过程中有问题请爪丨到(化代础并请详细说明匕叩的细节以便冇针对性解决你的问题。参加本书编写以及光盘开发的人员包括王福建、郭月强、焦祝军、卢绍青、马照亭、钱秀槟、任志杰、孙俊、陶冶、王海滨、尹宝林、袁帅、邹秋玲、杨艳、吴宏志、任玉霞、解建伟、陶榕、孔刚等。在此对所有为本书和光盘出版付出辛勤劳动的人们表示衷心的感谢。录第一部分周户界面设计第章按钮控件程序带热点的按钮程序高级按钮控件程序弹性按钮程序带选项列表的按钮程序可重叠的按钮控件程序由静态文本类继承的按钮程序任意形状的按钮第章编辑控件程序自动填充的编辑框程序货币格式的编辑框程序对语法敏感的编辑框程序包含提示文本和编辑框的复合编辑控件程序高级编辑控件程序数字滚选编辑框第章静态控件程序带有水平或垂直文字的斜线程序彩色静态文本框程序静态直方图程序跳跃的静态文本程序显示设备无关位图(川)的静态控件第V组合框Si^l多列组合框H^"了足制的颜色选择器m边框变换的组合框娜类似MSOffice风格的绗介框mo只改泔介柩:^列表拧件iW双列表选抒竹迎凇im^彩色文木列及祸‘IVIi<多级列及椒程序属性列表框程序Visual如<^风格的列表框第章了只已…^货控件程序定制的TreeView控件程序用来显示磁盘文件目录的丁代丫保控件程序在衧乂抑控件之间实现拖放程序带有TreeView控件的属性页程序让高级选项风格的>的抓控件第章工具条程序可定制的工具条和菜单程序在多文档界面中切换的工具条……第章状态条程序在状态条中播放AVI文件程序扩展型的状态条第章菜单控件程序高级弹出菜单程序可停靠的菜单条程序为控件设计的平面弹出式菜单第章其他公用控件程序数据测绘的绘图类程序如(^的卜按钮程序数字钟Slf完今用户定制的标签控件程序形状可改变的进度控件程序SmartGrid一衣格控件稈序静态发光二极管控件*……程序液品以示控件第对话框辦iM“钌仵”(mmm^卿扩鉍MFC文件通对uWh'i'CorelPhotoHouseWft^J颜色送抒对《彬ii目录程序用来选择和建立文件夹的对话框!i程序文件预览对话框|程序多文件选择对话框程序个检验对话框中的所有控件变化的简便方法程序堆*的对话框程序标签对话框类程序用通用文件对话框作为无模式的视图第章文档视窗模型程序一个定制的奶客户区程序在多文档窗口中增如“More货“*’对话框程序肋程序中的文档选择器程序肋程序的自动标签条程序个文档对应两个视图第章文件和文件夹第二部分第章GDI程序自动字体处理类程序设置町结构的简单方法……程序字体选择组合框程序』了^评一一个绘图的例子程序旋转图片一高级内存设备环境第韋位程序设备无关位图包程序向!如口中读取位文件的快速方法程序真彩滚轮程序在位颜色位图中直接访问像素程序高品质的图像旋转程序半透明位图程序静态透明图像类程序观察阢乂文件程序个TWAIN的G包第章打印程序CFileInfoArray文件信息和比较程序建立多级目录程序〔呂饤土叫卩土化类第韋SHELL编程程序系统条动画图标类程序命令行参数菜单扩展第章高级用户界面i程序^(^风格的条形控件程序动态子窗口的重新配置程序建立定制窗口标题的框架程序信息条程序增强的列表控件程序可视化的框架程序皮肤生成器程序。混合透明窗口多媒体程序定制通用打印对话框#程序设置默认打印机的函数程序#化文件的一般打印预览程序程序不需处支持的打印预览程序非文档视结构的打印预览程序打印文本函数的封装类第章PENGL编程程序三维字体程序^^的图像旋转缩放处理程序简单口^类程序将一个口“图像发送到剪贴板程序使用位位图作为口^乙的图像第章DIRECTX程序用狀(:进行简单的直接写屏(DirectDraw)目录iii程序高级的直接写屏类第章动画和声音程序六乂图像捕获包程序录制、播放、存储声音文件的第三部分第章八伙控件程序ActiveX超级链接控件程序自动填充控件第章INTERNET程序从^中向列表控件中拖拽链接地址程序建立的!^快捷方式程序创建拨号连接对象程序简鱼的邮件客户端程序程序简单聊天程序程序『#下载FTP文件类•程序Socket传输程序程序扣服务监视器第韋丘编程程序清除历史纪录程序删除Internet的暂存文件程序怎样将CHtmlYiew的内容添加到剪贴板中程序用ATLHTML控件实现浏览器的第四部分第章字符串程序在Windows上处理UNICDE字符串程序进行资源读取和字符串格式化的CString扩展类程序不依赖系统的$订!叫类程序CUnicodeString类程序简单字符串类第荩宏多线程类程序简单的混音控制器包程序透明的动画控件镶嵌窗口*第章ISAPI,程序浏览$目录结构程序ISAPI扩展DLL中的仏第章数据库程序UVisual^中用々沈的自动生成报表程序在乂丨此〔十中访问(^^数据库引擎^)程序浏览的数据源名(们程序CByteArrayFile串行化对象到数据字段程序CODBCDynamic一个从DBC数据源中动态读取数据的类程序六组合框程序的日期时间程序交互式的工具(使用)程序交互式的$工具(使用撕程序在DLL中使用DAO杂类程序C操作符宏程序注释块宏程序定制的应用向导一“关于”对话框程序程序行计数器插件程序SmartHelp帮助文件插件程序用户消息宏程序去除替换字符和重复的往释第章剪贴板ivy^c程序ClipConvert剪贴板数据转换器程序从资源管理器中复制文件名第章时间和日期程序一周时间选择器第章DLL程序建立非MFCDLL的静态链接程序显示已装载模块|程序运行时动态调用比i•第章DEBLG|程序LibDuropi程序^>^化工具包一一个评估代码的类程序”此”定制^叫监视器第章CM和MFC类程序强大的函数解析程序“(^^:抽象类程序环形缓冲区I程序ComprLib数据压缩类库!程序观察者模式类!程序CStringArray的快速排序|程序^扒模板类的快速排序i|程序用名字实例化类:i!程序独立于AVL库的存储媒体丨程序TiraeStanip|^<COieDateime和CeDateTimeSpan!}第从章綜合实例程序磁盘空间监测器!W'f取问密码程序j程序以匕仏风格的数据库浏览器……第章常用工具程序命令行査找工具程序Win卩文件生成器程序文件快速分隔器程序资源查找器程序StampVer版本资源修改器程序存储过程类向导程序系统颜色变换器第章其他杂类程序文件被其它程序更改时提醒用户程序CIniFiie读写IXI文件的类程序建立一个自解压的可执行文件程序得到版本信息的CWinApp派生类程序在任何从#派生的窗口中实现拖放程序综合系统日志程序在标题栏和菜单条之间加入标识图程序肝〔窗口风格预览器程序图形选择缩放类程序简单的消息服务程序简单的函数式计算器程序非窗口类的计时器支持程序在内部过程通信(中使用内存映射文件程序’化位图屏幕保护程序程序xSieep口函数的改进程序在MFC中使用ipffUnZip第一部分用户界面设计木部分收集的程序卞要与叫户界向设汁冇义包拈下述方闹:按钮控件编辑《静态控件组介柄列表框树视丄具条状态条菜中K他公共控件对舌框义捫视窗义件和义件火•Shell高级叫户界如A第章按钮控件函数UseXBitmap()UseCheckBitmap()UseFolderBitmap()UsePapcrBitmap()UsePrintcrBitmap()UseRightArrowBitmap()UseLeftArrowBitmap()UseLEDBitmap{)UseBllipseBitmap()UscBinocularBitmap<)UscClockBitmap()UscRcdFlagBitmap()UscBanncdBitmap<)程序带热点的按钮本程序定义的CHotButton类是按钮类的子类这个按钮控件在它的右面部分有一个“热点”的区域这使得它成为一个具有双重功能的按钮。在点击热点区域时向程序发送^^丁^以的消息而点击非热点区域时发送的是普通的^^^^消息。参见图。ContacU^SJyw^*w^^Remove〖hecufren>contacta$soc^r>阌带热点的按钮CHotButton类苻两个键盘焦点区左边的文字部分和右边的热点区部分。鼠标、Tab键和^^^键可以操纵焦点在这两个区域之间的转换。从这方面看它就象两个按钮一样。本程序定义了个内部的热点位图调用不同的函数时可以在按钮上显示出不同的位图。参见表。表〗热点位图位图KKenaHgllQlly•部川广界丨丨丨设卜山然也以在应用程序中定义位阁伸肩定义的位阁必须包含人小相等的两张并排的阁样分别是活动和非活动时的阁形参见阁。ftl沾动和作活动阌样方法^收:^八口口^(口^丁nBitmaplD,intcx,COLORREF(^^匕)用来安装应用程序定义的位阁。参数^丨用来定义位阁的资源分^闱来定义单个阁片(活动或非活动的)的宽度crMask定义了透明部分的颜色在这个例子里是紫色RGB()。程印通过UseAppBitmap(int丨丨^^)方法来选择所用的一对热点区的位iBitmap参数迠所选用的阁形的索引分。通过SetTooltipText(LPCSTRszText,BOOLbActivate=TRUE)"J^>HH(K^HlU^提示^玷用来显示的提示文卞八化^比足设遥丄具条足竹被激活的仞始状态的"以通过ActivateTooltip(BOOLbEnable=TRUE)^t设记丄从条提示义^T为"J^状态。按钮上的热点区町以通过EnableHotSpot(BOOLbEnable=丁尺)来设货足古冇效。')它为无效状态时总足显示无效时的阉形丄只条提示小^水点右热点区时发送的坫呰通的BNOJCKED消息。热点区的阁形呵以通过ShowBitmap(BOOLbShowTRUE)来设置足否"见阁像被设为隐藏状态时这个按钮符上丄和普通的按钮足一样的。这个按钮控件也存在一些局限:•只支持、>:体的抿架风格:•支持水平保中「:对齐^对齐的义木对齐方式何不支持垂汽保中的力式•不支持多彳义木•j*ffiWSDlSABLEDtlWJ文并殳灰何将会介:今后的版进改逊。K演示程斤二参见demo。程序高级按钮控件这个名为KSet的按钮柠件足为《叫$„Windows的你洗命令按钮之外名呰选抒的丌发者设汁的。它在提供了标准按钮〗仃的切功能的丨^时还附加作幺新的从川劝能。这个控件打几种状态:一股状态鉍丨小拟冶时按卜以桫时以及尤效时的状态,它以包含义木和阁像并卩可以乂沽的改变按钮的外观。参酬loimiVC<('J^^KSct按钮控件并小足从已拎:作的窗口炎继承卜丨米的炎。I^按鲋拧件AboutkSelButtonkSetButtonActiveXvCpyrihl(c)SkSetL*bAuthor:KonstantinBukreevEmail:konstantinmailprimoryerukSetControlsLEditBLIkffl过按钮拧件这个按钮控件提供了丰窑的属性设置。’"丨以设置它在各种状态下的外观乜括吋以独、>:地改变按钮的阁像、休、边界颜色、明影等。属性Enabled:足否吋以接受用户的输入。HoverEnabled:允许鼠标蒗盖时的状态。AppearanceStatic••控件在无热点时的静态外观。AppearanceHover:控件在鼠标覆盖时的外观。AppearancePush:控件十:^小按下时的外观。ShowFocus:饤焦点时的以<风格(在按钮上州一个糾形框)。ShowStateAsFlat:按钮为平的或足为冇边框的外观风格。BorderColor:按钮的边界颜也。HighiightColor:^j按钮为欠:|i显示时的颜色。ShadowColor:按钮U<削影效果时的削影颜色。TextPushColor:按钮被按卜'时义卞的卯段色。TextHoverColor:按钮十:^{彳小ffi盖时的义的阶S色。TextStaticColor:按钮丨:•般状态时的义卞颜色。PicturcAlignment:按钮丨:择丨片和义?:的丨、、:货又系。PictureSpacing:网片和小题义''{之间的问fivj。PicturePush:按钮波按卜‘时“小‘的阍片。PictureHover:以标截浪时以七的阁片。PictureStatic:般状态时:uij<的M)i。PictureDisabled:'抒:件尤效时:一般状态时!》^的阁片会「动地钤換成尤效样式的外观尤效状态||丨以通过设沒这个沾性來文观。第一部用户界面设计TextPush:按钮在按下状态时显示的文字。TextStatic:按钮在一般状态时显示的文字。TextHover:鼠标覆盖时按钮上显示的文字。FontHover:鼠标後盖时所用的字体。FontStatic:一般状态时选用的字体。FontPush:鼠标按下时选用的字体。方法DoClick:显示按钮为按下时的样式。AboutBox:显示包含名称和版本信息的关于对话框。事件Click:当用户按下按钮并释放鼠标时引发这个事件。实现由于这个控件不是从己存在的窗口类继承的子类所有用来显示按钮的代码都在尺^<>的复合类中。这个按钮使用的是HFONT、HPEN―类的简单的GD句柄HJ一组函数来直接绘制的这组函数的指针保存在一个静态数组中。(renderbuttonhtemplate<classT>classRender{•參參typedefvoid(Render::*PTRFDRAW)(kDrawDCdc,RECTrc)staticPTRFDRAWftable(intappearance,intstatus)<staticPTRFDRAWftable(intappearance,intstatus){appearance,statusstaticPTRFDRAWtable={•••}••returntableappearancestatustemplate<classT>voidRender<T>::DrawIt(HDChdc,intstate,RECTrc){PTRFDRAWffWechoosefunctiondependingonastateandappearanceofthebuttonswitch{state)第章按钮控件case:ff=ftable(pT>mAppearanceStatic,state)drawsabutton<this>*ff)(kDrawDC(hdc),rc)參參•displaythetextDrawState()••參drawsfocusrectangleifneedDrawFocusRect(hdc,rcfocus)參•displayanimagethroughmethodIPictureinterfacepPic>Render(••)•參}这里我们使用了userib的TrackMouseEvent两数来跟踪鼠标指针。kbuttoncppvoidkButton::DetectTrackMouse(){mpfTrackMouseEvent=(PTRFTrackMouseEvent)GetProcAddress一一•(GetModuleHandle(T("user")),T("TrackMouseEvent"))}或者在Windows中通过类说邮^^^丨从第二个线程来跟踪鼠标的移动。kMouseMoveImpl类从Apa^tmentThread继承而来实现了^此(^接口。mousemovehclassATLNOVTABLEkMouseMoveImp:publicIMouseMove,publicCComTearOffObjectBase<kButton>,publicApartmentThread<kMouseMoveImpl,IMouseMove^IIDIMouseMove>kbuttonhCOMINTERFACEENTRYCACHEDTEAROFF(IIDIMouseMove,kMouseMoveImpl,mpUnkMouseMovep)【kbuttoncppvoidkButton::TrackMouse(){if(mpfTrackMouseEvent)第…部用户界设讣elseCComQIPtr<XMouseMove>pI(GetControllingUnknown())pI>StartThread()使用这种接口的类可以节内存因为^奶^^叫只在^((^下才激发。这种情况也应用于鼠标敲击动作(例如调用丨化方法)。(kButtoncppSTDMETHODIMPkButton::DoClick(VARIANTEOOLbAnimate){•••CComQIPtr<IAnimationClick>pI(GetControllingUnknown())pI>StartThread()ApartmentThread类封装fljSTA的工作创建线程调度接口指针等等。apartmentthreadhtemplate<classDerived,classT,constIIT*piid>classApartmentThread{••HRESULTStartThread(intnTimeOut){•••if(SUCCEEDED(CoMarshalInterThreadInterfaceIntream(*piid,(T*)pDerived,mpStream)))mhThread=Createhread(,,Apartment,(void*)this,,dw)控件的厲性足山atlctrh义件中的IMPLEMENTXXX宏来实观的。对于诚性FontXXX成PictureXXX,相应的宏为lMPLEMENTPlCTUREPROPERTY、IMPLEMENTFONTPROPERTY以及HelperPicturePropertyo和HelperFontProperty<>^。事件足通过接口IkButtonEvems和行定义接口化抓(^^^^实觇的。这^还使川广HSLModeI炎中的HSL色彩校武来计兑ShadowColor和HighlightColor。(kbuttonhvoidkButton::GetDColors(COLORREFclr,COLORREFclrShadow,CLRREFclrHighlight){HSLModelhsl(clr)HSLModelhsl=hsl第丨A按钮控件BYTElurnhslluminance()hslluminance(lum'*)hslluminance(lum((lum))}clrShadow=hslrgb()clrHighlight=hslrgb()}对于乂丨仙BasicIDE,是在kICategorizeP^operiesImpl类中实现lCatego^izePrope^ties接口的。categorizepropertieshtemplate<classT>classATLNOVTABLEkICategorizeProperiesImpl:publicICategorizeProperties{STDMETHOD(MapPropertyToCategory)(DISPIDdispid,PROPCAT*ppropcat)•參•STDMETHOD(GetCategoryName)(PROPCATpropcat,LCIDlcid,BSTR*pbstrName)kbuttonhclassATLNOVTABLEkButton:•參publickICategorizeProperiesImpl<kButton>,BEGINCATEGORYPROPNAMEJAP(kButton)CATEGORYPROPNAME{,TCPicture"))CA

类似资料

编辑推荐

演化与博弈论_(英)约翰·梅纳德·史密斯.pdf

张之洞评传.pdf

《清代前期的政治认同与历史书写》.陈永明.上海古籍2011.pdf

《素月楼联语》.张伯驹.华文出版社2012.pdf

阎锡山日记.pdf

职业精品

精彩专题

上传我的资料

精选资料

热门资料排行换一换

  • 我的抗战生活【冯玉祥】.pdf

  • 妙法莲华经(拼音版).pdf

  • 妙法莲华经(全文简体横排)PDF…

  • 《丝绸之路民族古文字与文化学术讨…

  • 《现代服装设计裁剪图350例》佚…

  • 中国摄影.2014年第01期.全…

  • 咬文嚼字绿皮书2008.pdf

  • 咬文嚼字【1997合订本】.pdf

  • 我的前半生【溥仪】.pdf

  • 资料评价:

    / 0
    所需积分:1 立即下载

    意见
    反馈

    返回
    顶部