- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
visual,c,,知识点总结(共8篇)
VC++深入详解 1、WPARAM=usignedintLPARAM=longWINAPI=_stdcall; LRESULT=longCALLBACK=std_callLPCTSTR=constchar*; 2、MAKEINTERSOURCE宏把资源ID标识符转换为需要的LPCTSTR类型; 3、同一个ID可以标识多个不同的资源; 4、HGDIOBJGetStockObject(intfnObject//stockobjecttype);获取具体资源对象时需要转换; 5、菜单并不是一个窗口,子窗口必须具有WS_CHILD样式; 6、UpdateWindow函数通过发送一个WM_PAINT消息来刷新窗口; 7、typedefstruct{ HWNDhwnd; UINTmessage; WPARAMwParam; LPARAMlParam; DWORDtime; POINTpt; }MSG,*PMSG; BOOLGetMessage( LPMSGlpMsg,HWNDhWnd,UINTwMsgFilterMin,UINTwMsgFilterMax); BOOLbRet; while((bRet=GetMessage(msg,hWnd,0,0))!=0) { if(bRet==-1) { //handletheerrorandpossiblyexit } else { TranslateMessage(msg); DispatchMessage(msg); } } 8、TranslateMessage函数用于将某些消息转换成新的消息,再投送到消息队列中。DispatchMessage函数分派一个消息到窗口过程,实际上是将消息回传给操作系统,有操作系统调用窗口过程函数对消息进行处理,MSG结构体中有接收消息的窗口句柄,因此,DispatchMessage总能进行正确的传递。 9、PeekMessage函数的最后一个参数设为PM_NOREMOVE时,消息将不会从消息队列中被移除;如果设为PM_REMOVE,那么消息将从消息队列中被移除; 10、LRESULTCALLBACKWindowProc( HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam); 11、WM_PAINT消息中,要用到窗口的DC,必须调用BeginPaint和EndPaint函数,这两个函数也只能在WM_PAINT消息中使用。 12、关闭窗口时会发送WM_CLOSE消息,该响应函数里调用DestroyWindow函数,销毁窗口后会发送WM_DESTROY消息,该响应函数里调用PostQuitMessage函数,该函数向应用程序发送一条WM_QUIT消息并返回,GetMessage函数接收到 WM_QUIT消息后返回0,消息循环终止。 13、在类构造函数中,可以为数据成员在堆上分配内存,然后在构函数中调用delete函数释放内存; 14、函数重载、函数覆盖、函数隐藏之间的区别:函数重载发生在同一个类中,而函数覆盖和函数隐藏发生在基类和派生类之间;函数重载构成的条件是,函数的参数类型、参数个数不同才能构成重载,只有返回值不同是不能构成函数重载的;函数覆盖发生在派生类和基类之间,两个函数必须完全相同,并且都是虚函数,不属于这种情况的就是函数隐藏了,函数覆盖总是和多态关联在一起;函数隐藏分两种情况,一种是派生类的函数与基类的函数完全相同,只是基类没使用virtual关键字,二种情况是派生类与基类的函数同名,但参数列表不同,这种情况下,不管基类的函数是否声明 为virtual关键字派生类中想要调用基类被隐藏的函数,可以使用基类名::函数名的语法形式。 15、派生类对象或指针可以直接赋值给基类对象或指针,不用强制转换,编译器会自动进行转换,反过来不能随便将基类对象或其指针赋给派生类对象或其指针,如果这个对象或指针确实是派生类型的,那么可以进行强制转换。 16、假如有一个变量具有多种样式,但并不清楚有哪些样式,现在想去掉某个样式,可以利用取反操作:style=style~CS_HREDRAW; 17、CClientDC派生于CDC类,并且在构造时调用GetDC函数,在析构时调用RelaseDC函数。类似还有CWindowDC类; 18、staticCWnd*PASCALGetDesktopWindow();HWNDGetDesktopWindow(VOID); 19、创建CBitmap对象时,仅调用其构造函数并不能得到一
文档评论(0)