C++ Tutorials & Articles
-
WinChat For .NET
by Patrick LamWinChat For .NET is a simple peer-to-peer chatting program that functions very similarly to the WinChat program provided by Windows 2000.
-
Why are we criticizing VB.NET?
by David R. K. DeLovehDavid DeLoveh takes a look at the pros and cons of VB.NET
-
Optimization: Your Worst Enemy
by Joseph M. NewcomerOptimizing a program before you know where the time is going is a meaningless activity. It wastes your time, produces code that is harder to write, harder to debug, and harder to maintain, than unoptimized code. This essay discusses some of the issues of why you should not do pre-optimization.
-
Using User-Interface Threads
by Joseph M. NewcomerI discovered the utility of user-interface threads a few weeks ago. This essay captures what I learned. In particular, there are some interesting issues of thread initialization that are not readily addressed. This also discusses why a user-interface thread may have no GUI objects associated with it
-
Message Management
by Joseph M. NewcomerThe use of user-defined messages gives you additional power and control over your application, and provides an often convenient method for passing information between threads and applications. This essay goes into considerable depth on how to handle user-defined messages, inter-thread messages, and
-
A Validating Edit Control
by Joseph M. NewcomerHave you ever wanted a control that only accepted valid values and gave feedback to the user? This is a little project that illustrates the techniques for building a validating edit control.
-
Avoiding UpdateData
by Joseph M. NewcomerWhy you should never call UpdateData yourself
-
String Concatenation Component
by Michael BalloniAn efficient string concatenation component to replace VBScript's poor performance.
-
Visual Studio Next Generation: Language Enhancements
by MicrosoftFind out about all the great enhancements in Visual Studio.NET
-
VB Editions
by James CrowleyThis tutorial describes the different versions and editions of VB available, and what you can do with them.
-
Subclassing
by James CrowleyThis tutorial shows you how to 'subclass' in VB, getting events directly from windows rather than through VB, giving you more control, and hundreds of new events, opening up a whole range of possibili
-
Variables
by James CrowleyEverything you ever wanted to know about variables.. Declaring, getting, setting, objects, UDTs, ByRef and ByVal. What more could you want?
-
What is Visual Basic?
by James CrowleyFind out about VB's roots, what it is exactly, and other VB issues.
-
SocketWrench Control
by Catalyst DevelopmentHow to use the SocketWrench control for Windows socket (TCP/IP) programming
-
Enum Windows & SendMessage API
by Muhammad AbubakarA new tutorial from Muhammad abubakar on these two essential API functions, allowing you to enumerate all the open windows, and reveal hidden control properties.
-
Memory Ordering for Atomic Operations in C++0x
by Dan MaharryThe operation that writes a value happens before an operation that reads that value. With the default atomic operations that’s indeed true (which is why this is the default), but it does need spelling out: the atomic operations also have other options for the ordering requirements. In this article, based on chapter 5 of C++ Concurrency in Action, author Anthony Williams discusses the memory-ordering tags used for atomic operations and how they relate to the synchronizes-with relation.
-
Constructors in C++11
by Dan MaharryThe new C++ standard has slowly been set and is now upon us. In this excerpt from Professional C++ 2e, the authors look at the existing ways to write constructor methods and the additional ones newly defined in C++11
-
Massive Data Parallelism on the GPU with Microsoft's C++ AMP (Accelerated Massive Parallelism)
by Yossi LevanoniC++ AMP architect Yossi Levanoni discusses and demonstrates the need for Microsoft's new Accelerated Massive Parallelism specification.
-
Saving the DC context
by Joseph M. NewcomerHaving trouble keeping your DC intact? Here's an article on how to do this far more easily using ::SaveDC/::RestoreDC, or CDC::SaveDC/CDC::RestoreDC, as well as a C++ class to make it even easier
-
Dialog Box Control Management
by Joseph M. NewcomerWhy you should never call EnableWindow or other such calls except in one central place. Think of control enabling as a set of constraint equations. Much easier to maintain if the computations are centralized. Find out how I do it, and why I think this is a good way to do it.