MFC Windows Programming for C++ Programmers Training in Boulder
We offer private customized training for groups of 3 or more attendees.
|
||
Course Description |
||
This course is a very thorough presentation of Windows programming via
an object oriented approach using Visual C++ and the Microsoft
Foundation Class Library. The course consists of two modules. The first
module covers the essential elements of Windows programming via an
object oriented approach using Visual C++ and the MFC. The basic
structure of Windows programs and the MFC encapsulation is explained,
and then the power of MFC and the Visual C++ development environment is
exploited to build working Windows applications. The student will gain
experience using the Visual Studio, AppWizard, and ClassWizard.
Fundamental Windows programming topics are covered, including the mouse,
keyboard, Graphics Device Interface, controls, dialog boxes, menus,
toolbars and status bars. The document/view architecture is introduced.
A fundamental approach is taken to understanding MFC, building programs
by making direct calls to MFC before using automated tools. The second
module covers intermediate topics in MFC Windows programming. Mouse
programming techniques are discussed, including rubberbanding and drag
and drop. Additional topics in dialog boxes are covered, including the
common dialogs and programming modeless dialogs. Fonts are discussed.
MFC services are covered, including runtime type information,
serialization, diagnostics and exceptions. The MFC collection classes
are surveyed, including the template collection classes. Document/view
architecture is presented in greater depth, including MDI and the role
of document templates in dealing with multiple view types and multiple
document types. The student is introduced to a number of advanced
topics, including the MFC database classes, the Win32/64 common
controls, and DLLs. OLE and ActiveX are introduced, including use of
ActiveX controls. Extensive programming examples and exercises are
provided using Visual C++ 2008 (Library mfc90.dll). Besides doing
standalone exercises, during the course the student will develop several
cumulative Windows applications. A disk is provided containing all the
examples and laboratory exercises in the course.
Course Length: 5 Days
Course Tuition: $2090 (US) |
Prerequisites |
|
Knowledge of C++. Previous SDK Windows programming experience is not required. |
Course Outline |
Introduction to Windows Programming and MFC
User Input in Windows
Graphics Device Interface
More About Windows
Document/View Architecture
Menus and Resources
Controls and Dialogs
Toolbars and Status Bars
Mouse Techniques
MFC Services
MFC Collection Classes
More About Dialog Boxes
More About Document/View
Windows Common Controls
MFC Database Classes
Dynamic Link Libraries
Introduction to ActiveX |
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
C++ Programming Uses & Stats
Difficulty
|
Popularity
|
Year Created 1983 |
Pros
Popular:
C/C++ is everywhere. In particular, they power more technologies than we give it credit for.
Flexible:
C++ is a multi-paradigm coding language. This means that it supports other styles such as procedural programming as well as Object-Oriented Programming.
Fast:
Because it is compiled, C++ gains a lot of speed. and is the language of choice for some applications as an example in the finance industry, where small differences in speed in high-frequency trading platforms can make the difference between a profit or a loss.
Job Opportunities:
C++ developers are high in demand. There are over 14,000 C++ open positions on linkedIn alone.
Similarity to Other Languages:
Many other languages like C, C#, and Java have very similar syntax to C++, making them easy to learn for those that already know C++.
|
Cons
Difficult to Learn:
C++ syntax is complex and the standard library is small, making C++ difficult to learn for someone with little programming experience. Although, it's believed to be more difficult to learn C++ than other languages, more accurately it probably takes a bigger investment of your time and effort to learn than some other languages.
Strict Syntax:
There is not much flexibility to the syntax, so it can be difficult to write code in a readable way.
Little Memory Management:
C++ does very little memory management, forcing the programmer to do most of it themselves.
Debugging Issues:
C++ can be difficult and complex to debug when it is used for web applications.
|
C++ Programming Job Market |
Average Salary
|
Job Count
|
Top Job Locations
New York City |
Complimentary Skills to have along with C++ Programming
C/C++ are the grandfather of most other languages. Once you understand C syntax and (OOP) Object Oriented Programming, you're well on your way to greener pastures. Since the .NET development ecosystem spans a wide array of capabilities and tools, it is difficult for .NET developers to know which .NET development skills and training to pursue in order to increase their marketability — and earning potential. For that reason, learning supplemental languages such as Java, JavaScript, Python, C/C++, and others is expected in today’s competitive skill-set driven playing field. |