Rating: Summary: A Simply Great Book To Have Review: Beginning MFC Programming is a great book to have if you want to learn windows programming using MFC with Visual C++ 5.0. Ivor Horton, the author, walk you through every necessary steps to grasp the concept of MFC and more. Every chapter in the book have the same consistency in details and concepts to keep you awake and informed. After reading each chapter, you will feel that you have learn another new concept and new skills, which is very rare in other computer books. I use this book and "Professional MFC Programming" from the same publisher ,WROX, at work to help me through my project. This is a must have MFC tutorial and reference book. Go get it!!
Rating: Summary: Consist of book Beginning Visual C++ 5/6 from chapter 12-etc Review: Consist of book Beginning Visual C++ 5/6 from chapter 12 and on.This the seconf book that I have encountered that has such a comprehensive example on how to use basic windows programming C++ skills. However, from chapter 5 on, which beginning a multi chapter spanning Sketcher project, skills being used in it were not clarified enough. To help other readers who also read this excellent C++ book, I will try to supplement these skills that I have extracted from the coding based on what there are presented in the corresponding chapter related to use of pointers. Beginning MFC Programming Ivor Horton Skills: 1. Object calling another object's function through a pointer. (Ex. pDoc-function( ), m_pTempElement->Draw( ) function.) 2. Object can create another object based on a conditional ID_"event" nested inside the conditional move function. (Ex. switch(pDoc->GetElement( )) {...} 3. Get a pointer to a currently present object and use it to call the object's function. (Ex. CSketcherDoc* pDoc = GetDocument( ) // a function inherited from CView class.) 4. How one object can communicate or pass object or variable to another via a pointer. (Ex. m_pTempElement = CreateElement( ) // a function inside the CSketcherView object.) Page 569 In CsketcherView Object Call OnMouseMove( ) funtion { //Created m_pTempElement pointer to be pointed to selected CElement subclass object base on option selected from CSketcherDoc object's menu ID_event. CreateElement( ) is a function inside CsketcherView objectt hat return a new CElement sublcass pointer and create a new CElement sublcass object based on subclass in the class CElement being selected from CSketcherDoc event passed. { m_pTempElement = CreateElement( ); //This executes. Call CreateElement ( ) function in //CsketcherView object/class. m_pTempElement->Draw(&aDC); } } CElement* CsketcherView::CreateElement( ) { CSketcherDoc* pDoc = GetDocument(); // make call to GetDocument() Function which //return pointer pointing to the current CSketcherDoc //object. This executes. A function inherited from CView //class. switch(pDoc->GetElementType( )) // Then, CSketcherDoc object's GetElementType() //function executes through the pDoc pointer. { case LINE: { //content of LINE block goes here. ;} //The rest of the conditional code here execute based on the return value from GetElementType( ) //function ;} In CSketcherDoc object, the GetElementType( ) funtion executes. Class Csketcher: public Cdocument { ... // some content in page 572. // Operations WORD GetElementType( ) //Then the GetElementType( ) Function executes, { return m_Element; } // thus return the value of m_Element being selected on the //menu bar. Now get back to the CSketcherView object. The CreateElement( ) function receive the value inside the switch( ) function CElement* CsketcherView::CreateElement( ) { CSketcherDoc* pDoc = Getdocument(); // make call to GetDocument() Function which return //pointer pointing to the current CSketcherDoc object. switch(pDoc->GetElementType( )) // The switch ( ) function then executes based on return //from CSketcherDoc object's GetElementType( ) function //from the pDoc pointer. Now executes... { //The rest of the conditional code here execute based on the return value from GetElementType( ) //function case LINE: //***This case executes if returned m_Element is LINE. { return new CLine (m_FirstPoint, m_SecondPoint, pDoc->GetElementColor( )); // This executes. The code returns and creates a new CLine object. To be //passed back to the to CSketcherView object's OnMouseMove( ) function //based on the ID_mouse_move event. } case OTHERS: {... ;} ;} Now, return to the CSketcherView object. Execute the OnMouseMove( ) function. CsketcherView::OnMouseMove( ) //Just received the newly created CLine object { Created m_pTempElement pointer to be pointed to object CElement selected from CSketcherDoc object, CreateElement( ) is a function inside CsketcherView. CreateElement( ) is a function to return a pointer and create a new object based on subclass in the class CElement being selected from CSketcherDoc event passed. { codes before... m_pTempElement = CreateElement( ); //This has executed. CreateElement ( ) function //created the Cline object based on the new CLine object //pointer returned. m_pTempElement->Draw(&aDC); //Now call the new CLine object's Draw( ) function. delete m_pTempElement; //Delete the used CLine object through the CLine object pointer. m_pTempElement = 0; //Reset the pointer to address 0. } }
Rating: Summary: Consist of book Beginning Visual C++ 5/6 from chapter 12-etc Review: I went through the first ten chapters twice. The second time around it all started to make a lot more sense. The book would be great if the author took the time to explain terminology a bit more or "why" certain things were being done. It feels a bit like "follow these steps" but you don't know the WHY. I augmented the book with other MFC books to fill in the WHYS. The application you build is truly neat and you will find yourself adding to it. The last couple of chapters on database programming, ActiveX and using ATL are useful in obtaining a little taste on those topics but the chapters are just appetizers. I am looking forward to reading the other books in the WROX series.
Rating: Summary: Good, but requires other books to explain the missing pieces Review: I went through the first ten chapters twice. The second time around it all started to make a lot more sense. The book would be great if the author took the time to explain terminology a bit more or "why" certain things were being done. It feels a bit like "follow these steps" but you don't know the WHY. I augmented the book with other MFC books to fill in the WHYS. The application you build is truly neat and you will find yourself adding to it. The last couple of chapters on database programming, ActiveX and using ATL are useful in obtaining a little taste on those topics but the chapters are just appetizers. I am looking forward to reading the other books in the WROX series.
Rating: Summary: Good Beginning MFC book Review: I wouldn't rate it as high as Ivor's book on Java but it is very good. Good examples and easy reading. Although MFC will be going by the wayside in the next couple of years I would like to see Ivor do an intermediate/advanced MFC 6 or 7 book. I like his style that much. I can't think of any typos in the example code, if there were they were small and / or obvious. This book helped greatly in getting through a difficult 1st term MFC course. The only thing missing in this book (no books on this subject are to be found anywhere) is MFC and ODBC, DAO, ADO, OLE DB. Maybe everyone wants to do DB stuff the easy way... in VB. Well worth the $...I spent on it used.
Rating: Summary: Good for getting your feet wet in MFC Review: It does give a good introduction to MFC. Plus as another review said, it shows how to make a *real* application. with functionality even.. not just code snippets. and you can keep on adding to it. so it's pretty cool. the stuff on database... I dunno.. database isn't my bag. and it's not a good way to learn database programming at all. but other than that it's pretty good. I recommend getting a book on programming windows that uses *only* the win32 api. such as the charles petzold classic...
Rating: Summary: One of best book I have read Review: It is a nice book, considering its promises: for beginners, focus on MFC and assuming readers have decent knowledge on C++ and OOP. I like the style by adding code to previous version on the way of learning. The explanation is enough except last 3 chapters, but which are sort of beyond the scope of a beginning's book. However, you can still get a taste of the advanced topics like ActiveX and ATL.
Rating: Summary: A very detailed introduction into MFC programming Review: Ivor Horton's book is very detailed and comprehensive enough for a beginner with a decent knowledge of C++ programming language. Sometimes details become a little overwhelming, but it's because Visual C++ is a very advanced tool and there's a lot of it. Considering that I haven't seen any better books on MFC/Visual C++, so it's a pretty sure bet.
Rating: Summary: Excellent for VC users with some knowledge of C++& Windows Review: The author is definitely in my list of people who is capable of explaining concepts clearly and at reasonable length. To be fair to the book, it is not trying to be all things to all people - it presumes some knowledge of Windows and a reasonable knowledge of C++ and gives you a reasonable knowledge of MFC. You will need to get another book later on without a doubt, but that's what you would expect from a book titled "Beginning..." With this in mind I think this book does an excellent job - especially if your the type of person who likes to be hand-held just a little and you prefer explanations that are longer rather than shorter. Still, MFC is not for whimps and you will have to put on your thinking cap. If it does rely on automatic code, as another review suggests, then I would suggest that you learn about that in more advanced tutorials - I am glad there weren't chapters on understanding code that the wizard generates in a "beginning" book! Similarly, the paper used explaining mundane things is something I'm prepared to wear and for someone who is used to using Borland C++, are often extremely useful. Excellent book that achieves what it aims to do.
Rating: Summary: Good on MFC, but gets confusing towards the end Review: The first 10 or so chapters (through database programming) are well-written and teach a lot about MFC. As the core of the book, anyone who knows C++ will get a good grasp of how MFC works through those chapters. However, when the author starts to dive into COM he loses focus. To be true to the title, the last part of the book should have stuck more to MFC . Instead, I spent a lot of time writing code on interface libraries and other things I really don't understand. I would have given this book a lower rating except that those last few chapters got me hooked on COM, and I want to know more.
|