MFC编写中遇到棘手的问题

C++语言 码拜 7年前 (2015-11-13) 923次浏览
新建了一个非常简单的对话框程序,在对话框中添加几个按钮后,通过属性中的快速建立(雷电标记),添加了clicked事件,实现了本人的功能,非常简单的程序;
今天为了将按钮美化,本人通过快速添加建立了一个本人类CMyButton,然后准备将之前的按钮变量绑定,遇到了两个实在想不清楚的问题;
第一个,当本人用快速建立将对话框中的物件绑定到新建的类CMyButton时候,变量类型中找不到CMyButton类,只有一个CButton基类,之后本人只能手打进去,本人想问下,为什么变量类型中找不到CMyButton类?遇到这种情况就是通过手写吗?正确吗?
第二个,按钮控件在没有绑定变量的时候,本人是通过clicked事件控制的(雷电标记)OnBnClicked,一切都好,再本人变量绑定后(与类CMyButton),类中本人通过“消息”  “=BN_CLICKED”产生CMyButton::OnBnClicked()这个函数后,原先单个按钮的clicked事件控制的(雷电标记)产生的函数OnBnClicked就不执行了?程序彻底完蛋,救命啊~~~~

MFC虐死本人了,求高人尽量详细的解答本人的疑惑,非常感谢~
解决方案:10分
需要学会手动添加按钮单击事件
解决方案:10分
MFC这框架做的实在是不高明,可以说是最烂的框架设计之一。
不过它老爸是微软,没办法,稳定性和速度还是蛮快的。
可以去学下C++ Builder,VCL的框架比MFC做的好多了。国外用的人比较多,国内资料很少。
解决方案:10分
都是在InitDialog中  手动关联变量的。
尽量要会手动添加代码
孙鑫的书讲的还可以,有钱可以去买本,没钱下个电子书就好
你可以上网搜一下,好像是subclassxx,本人忘记了,本人基本也是要用的时候上网搜的。
解决方案:20分
MSDN98_1.ISO http://pan.baidu.com/s/1dDF41ix,  MSDN98_2.ISO http://pan.baidu.com/s/1bnGo0Vl
先下载安装MSDN98
再参考:
mk:@MSITStore:D:\MSDN98\98VS\2052\vcsample.chm::/html/_core_alphabetical_list_of_mfc_samples.htm
Alphabetical List of MFC Samples
Sample Illustrations
ACDUAL Demonstrates how to add dual interface support to an MFC-based Automation server.
AUTOCLIK Tutorial example illustrating Automation features in Visual C++ Tutorials.
AUTODRIV A simple Automation client application that drives the AUTOCLIK tutorial sample application.
BINDENRL Databound controls in a dialog-based application with property pages.
BINDSCRB Illustration of the use of new COM interfaces to components currently supported by the Microsoft Office suite of products.
CALCDRIV Automation client.
CATALOG Illustration of direct calls to ODBC functions in general, and the ODBC functions SQLTables and SQLColumns in particular.
CATALOG2 Illustration of direct calls to ODBC functions in general using Windows Common Controls.
CHATSRVR Discussion server application for CHATTER.
CHATTER Client application that uses Windows Sockets.
CHKBOOK Record-based (nonserialized) document.
CIRC Tutorial sample that teaches you how to create a simple ActiveX control called Circle.
CMNCTRL1 Demonstrates how to create and change the styles of Windows Common Controls using MFC classes (Part 1).
CMNCTRL2 Demonstrates how to create and change the styles of Windows Common Controls using MFC classes (Part 2).
COLLECT MFC C++ template-based collection classes, and standard prebuilt collection classes.
CONTAINER Tutorial example illustrating ActiveX Visual Editing container features in Visual C++ Tutorials.
COUNTER Using an ISAPI DLL to send image data (rather than HTML data) back to a Web browser.
CTRLBARS Custom toolbar and status bar, dialog bar, and floating palette.
CTRLTEST Owner-draw list box and menu, custom control, bitmap button, spin control.
CUBE OpenGL application using MFC device contexts along with OpenGL””s resource contexts.
DAOCTL DAO database class functionality and ActiveX controls let you examine a database.
DAOENROL Based on ENROLL, but migrated to the DAO database classes. Also serves as Step 4 of the DaoEnrol tutorial.
DAOTABLE Creates a Microsoft Access database (.mdb file) and its tables, fields, queries, and indexes using MFC DAO database classes.
DAOVIEW DAO database classes and Windows Common Controls let you view the schema of a database.
DBFETCH Demonstrates the use of bulk row fetching in the ODBC database classes.
DBVList Demonstrates the virtual list view functionality available for the list view common control.
DIBLOOK Device-independent bitmap and color palette.
DLGCBR32 Adding a toolbar and a status bar to a dialog-based application.
DLGTEMPL Shows how to create dialog templates dynamically.
DLLHUSK Sharing the DLL version of the Foundation class library with an application and custom DLL.
DLLTRACE Statically linking the MFC library to a custom DLL.
DOCKTOOL Dragging and floating toolbars that are “dockable”.
DRAWCLI Full-featured object-oriented drawing application that is also an ActiveX Visual Editing container.
DRAWPIC Getting a Windows handle to a bitmap or icon from an LPPICTUREDISP.
DYNABIND Dynamic binding of database columns to a recordset.
DYNAMENU Dynamically modifying list of items in menus; handling commands not known at compile time; and updating the status bar command prompt for such commands.
ENROLL Tutorial example illustrating database features in Visual C++ Tutorials.
EXTBIND Shows how to bind data-aware controls across a dialog box boundary.
FIRE Dialog-based application that demonstrates five Windows Common Controls.
FTPTREE Displays the contents of an FTP site in a tree control.
GUIDGEN A dialog-based MFC application used to generate globally unique identifiers, or GUIDs, which identify OLE classes, objects, and interfaces.
HELLO Simple application with frame window but no document or view.
HELLOAPP Minimal “Hello World” application.
HIERSVR ActiveX Visual Editing server application with drag and drop.
HTTPSVR Uses MFC Windows Socket classes to implement an Internet HTTP server.
IMAGE Demonstrates an ActiveX control that is capable of downloading data asynchronously.
INPROC An in-process Automation server that can be loaded as a DLL in the client””s address space.
IPDRIVE A simple Automation client application that drives the INPROC sample application.
LISTHDR Demonstrates the List View and Header Common Controls.
MAKEHM Command line utility for associating resources with Help contexts.
MDI MDI application that does not use documents and views.
MDIBIND Demonstrates data binding in CWnd-derived windows, but only at run time.
MDIDOCVW New version of the MDI sample that uses the document/view architecture.
MFCBIND Shows how to create an ActiveX document (formerly known as a DocObject) container using the ActiveX document container support classes.
MFCCALC An Automation server that implements a simple calculator.
MFCIE Uses MFC””s CHtmlView and CreBar classes to implement a subset of the functionality provided by Microsoft Internet Explorer.
MFCRows Shows how to useCOleDBRecordView to scroll through a table in a database. Also how to use multiple accessors so you can update an Access table that contains an AutoNumber field to be retrieved.
MFCUCASE Demonstrates MFC support for Internet Server filter DLLs.
MODELESS Demonstrates the use of an MFC CDialog object as a modeless dialog.
MTGDI Multithread illustration, where GDI resources are converted to MFC objects and back.
MTMDI Multithread illustration, where user-interface events are processed in a separate user-interface thread.
MTRECALC Multithread illustration, where recalculations are done in a worker thread.
MULTIPAD Simple MDI text editor using the CeditView class.
MUTEXES Demonstrates the use of the Cmutex class for multithreading.
NPP Editor demonstrating toolbars, status bars, and other controls.
OCLIENT ActiveX Visual Editing container application, with drag and drop.
ODBCINFO Shows how to determine various ODBC driver capabilities at run time.
OLDBARS Provides support for applications that rely on the old implementations of CToolBar and CStatusBar by providing the source code for these classes.
OLEVIEW Implementing an OLE object browser through custom OLE interfaces.
PINBALL An Internet Server Extension DLL that provides graphics and also redirects users to a Web site for further research.
PROPDLG Property sheets (dialogs).
ROWLIST Illustrates full row selection in a list-view common control.
SAVER Screen saver written with MFC.
SCRIBBLE Main tutorial example in  Visual C++ Tutorials.
SMILEY Modifying properties, calling methods, and handling events from the SMILE control in the SMILEY container.
SNAPVW Shows how to use property pages in a MDI child frame window.
SPEAKN Multimedia sound using user-defined resources.
StockTicker An MFC and ATL application that retrieves stock quotes from the Web and displays them in an ATL control. The user can set the display””s properties, including rate of data refresh.
STDREG Tool for populating the Student Registration database (used by the Enroll database tutorial) in any format supported by an ODBC driver. Illustrates SQL table creation.
SUPERPAD ActiveX Visual Editing server that edits text using CEditView.
TEAR MFC console application that uses the Wininet.dll.
TEMPLDEF Command line tool that expands source files similar to C++ templates.
TSTCON Implements an ActiveX control container using MFC””s support for OLE embedding. You can use TSTCON to test ActiveX controls, change their properties, and invoke their methods.
TESTHELP An ActiveX control that has its own help file and tooltips.
TRACER Tool that sets the Foundation class application trace flags kept in AFX.INI.
TRACKER Illustration of the various CRectTracker styles and options.
VCTERM Simple terminal emulation program illustrating the use of the Mscomm32.ocx ActiveX control.
VIEWEX Multiple views, scroll view, splitter windows.
WIZARD97  Demonstrates implementing a wizard that supports background bitmaps and wide header titles and images. This wizard design is supported for Windows 98 and Windows NT 5.0; you must be using Windows 98 or Windows NT 5.0 for this sample to work properly.
WORDPAD Uses MFC””s support for rich edit controls to create a basic word processor.
WWWQUOTE Retrieves information from a database and provides it to the user via an HTTP connection to the server.
See Also
Microsoft Foundation Class Library Samples Index
解决方案:10分
买候杰先生写的《深入浅出MFC》。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明MFC编写中遇到棘手的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)