C++/CLI
|
|
A brief look at the new C++/CLI syntax and how it improves over the old MC++ syntax
|
|
Excerpts from Chapter 1. Topics are (1) Declaring CLR types and (2) Handles: The CLI equivalent to pointers
|
|
This is an excerpt from Chapter 1 that covers how CLI classes are instantiated, and discusses constructors and assignment operators
|
|
Excerpt from Chapter 4 on interior and pinning pointers
|
|
This article covers basic marshal_as usage, as well as how to extend marshal_as to support additional type conversions
|
|
Why the author thinks that C++/CLI has its own unique role to play as a first-class .NET programming language
|
|
The article takes a brief look at some not so commonly used classes such as auto_handle, lock, and ptr
|
|
This article walks through the implementation of a C++/CLI class from a disposable C# base
|
|
The performance of STL/CLR sequence containers are compared with that of corresponding BCL generic collection classes
|
|
CAutoNativePtr is a managed template class that acts as a smart pointer, and is handy for using native objects in managed code.
|
|
Takes a look at new features like explicit overriding, renamed overriding, multiple overriding and sealing a method
|
|
The article exposes the new array syntax available in C++/CLI for the declaration and use of CLI arrays
|
|
Looks at how deterministic destruction is possible with C++/CLI
|
|
Looks at the syntax for the declaration and use of properties in C++/CLI
|
|
Tries to explain the syntax, usage and behavior of interior pointers in C++/CLI
|
|
Article on the usage and dangers of pinning pointers
|
|
Explains the usage of the Marshal class methods GetFunctionPointerForDelegate and GetDelegateForFunctionPointer, and compares their performance with the P/Invoke mechanism.
|
|
Introduces generics and compares it with templates
|
|
CNullable can be used to represent a value type (or simple native type) such that the type can be nulled. You can also compare it to nullptr using the == and != operators both of which have been overloaded.
|
|
A convertor class for managed-unmanaged string conversions that handles memory de-allocations. Caller need not worry about freeing unmanaged memory allocations.
|
|
This article is a simple introduction to using the CWinFormsControl MFC class to put a Windows Forms control on an MFC dialog.
|
|
This article demonstrates how to use the Windows Forms 2.0 MenuStrip and ToolStrip controls in an MFC SDI application, using C++/CLI, to get the Office 2003 style menu and toolbar
|
C++
|
|
The article shows how to interop between a WCF service and a WWS client, and also how to rewrite the WCF service in WWS retaining compatibility with existing WCF clients.
|
|
Article explains the differences between malloc/free and new/delete in a C++ context
|
MFC
|
|
Hidden modal dialogs, stealing focus, always on top dialogs, going full-screen, expanding and contracting dialogs, removing task bar icon, context sensitive help and many other useful tips and tricks.
|
|
Explains the pseudo modality of CDialog based modal dialogs and a problem with the CDialog::EndDialog implementation.
|
|
A step by step tutorial on how to deploy an MFC application via ClickOnce
|
|
This article explains how you can override PreTranslateMessage and ProcessMessageFilter in dialog based apps.
|
|
Some tips/suggestions on using modeless dialogs with MFC.
|
|
This message box delays its dismissal by disabling the OK button for a delay interval. It also has an optional auto-close feature. There are two versions, one uses a WH_CBT hook and some basic window tricks like sub-classing to achieve its goal. The other one is more MFC-ied. (Co-Authored by Shog9)
|
|
A hot-key based program that lets you resize your current window to any size. Useful for web designers and GUI developers as it helps avoid frequent screen-resolution changes.
|
|
Shows how you can create windows that can be dragged around, not just through the title bar, but anywhere within the window body.
|
|
Beginner article that shows how you can create horizontal, vertical and diagonal backgrounds. Also tells you what to watch out for, to avoid flickering when doing complicated drawing.
|
|
A small CDialog derived class that helps avoid frequent copy/pasting of the same code, when using a bitmap as dialog background.
|
|
Explains how you can suppress the File-Save-As dialog in a Doc/View app, how to save files to multiple formats, and how DoSave is implemented.
|
|
Shows how you can have status bars in your dialog based apps.
|
|
Explains the basic MFC program flow including where WinMain and the message loop are hidden.
|
|
A CFrameWnd derived class that provides functionality similar to the VB InputBox function. You don't need a dialog resource to use the class!
|
Win32
|
|
Shows how to use CFSTR_FILEDESCRIPTOR and CFSTR_FILECONTENTS to perform drag/drop with virtual files
|
|
CProcessData is a template class that makes it easy to use data allocated in a different process, and is useful when making inter-process SendMessage/PostMessage calls.
|
|
Includes a generic skeleton for a simple NT service. Explains how to install,start and stop the service programmatically.
|
|
A simple class to install, uninstall, start, stop, pause, continue Win32 services.
|
|
Shareware authors can use this class to limit the number of runs or the number of days that a program will function.
|
|
A class for reading and writing floppy disk sectors directly [Win 95/98/ME/NT/2K/XP]
|
|
A wrapper class for SHFormatDrive (XP/2K only). Corrects some errors in KB article Q173688.
|
|
Gives an elementary introduction to the use of ShellExecute/ShellExecuteEx, CreateProcess, WaitForSingleObject. How to bring up the Find window, the Properties window.
|
|
Demonstrates techniques using windows messages and hooks, which allow us to automate a windows properties dialog or even custom applications.
|
|
Describes a function that overcomes the inadequacies of IsAppThemed and IsThemeActive.
|
|
Demonstrates and compares the various casting operators available. Also suggests when to use and what to use!
|
|
Shows how to globally change the icons for folders and drives. Also shows some nifty tricks you might find handy in your applications.
|
|
Gives you copy/paste-able functions to retrieve the localized folder names, and to set/get user-defined folder names for dekstop folders.
|
|
Explains how to register, use and unregister hotkeys.
|
|
This free program can be used to stress test SMTP servers. It also aids anti-Spam tool developers as a useful mail-bombardment tool.
|
|
A class derived from CSMTPConnection that queries the MX record for a target domain and uses that to send mail.
|
|
A class for packing and unpacking file archives.
|
|
A freeware program (with source code) that allows you to change the MAC ID of your network adapter.
|
|
A tool with full source code that enumerates tray icons and allows you to reposition them as well as send mouse messages.
|
WPF
|
|
A brief introduction to using transformations with the WPF
|
|
This article covers how animations can be applied on properties that do not have an associated animation class
|
|
This article shows how to use data template selectors and also how to create a hierarchical listbox
|
Managed C++
|
|
An attempt to get a beginner started on Managed C++
|
|
Declaring and using managed .NET arrays with MC++
|
|
A basic introduction to using IJW instead of P/Invoke in Managed C++.
|
|
This is further demonstration of MC++ IJW capabilities.
|
|
Shows how you can call native API functions that require callbacks using IJW, and without the use of DllImport attribute. The technique allows you to pass a delegate as the callback function just as in the MS recommended manner except, I show you how to do this without the ugly DllImport attribute.
|
|
Basic demonstration of the TcpListener/TcpClient classes.
|
|
Describes the virtual bool bug that exists in mixed mode Managed C++ programs that access unmanaged classes.
|
|
Basic introduction to using OLE DB to insert, update and read records from a database.
|
|
Shows how you can use data bound controls with OLE DB.
|
|
A work time tracking system that includes a Managed C++ remoting server and MFC clients that use the managed extensions. The application demonstrates how to mix managed and unmanaged code.
|
|
Tutorial on creating your own collection classes that are enumerable and sortable. Explains in detail the usage of the IEnumerable, IEnumerator, IComparable and IComparer interfaces.
|
|
Shows how you can load an assembly at run time, instantiate a class in that assembly and call methods on the class.
|
|
An introduction to Windows Forms using Managed C++
|
|
Demonstrates adding menus, showing open-dialog boxes, showing images, scrolling.
|
|
Demonstrates the usage of splitters, treeviews, listviews, panels, toolbars.
|
|
A .NET port of my MFC CFrameWnd derived InputBox class, written using MC++
|
|
Shows how to derive a class from ComboBox and add an Auto-Complete feature to it. The example uses Managed C++.
|
|
An MC++ class that uses IJW to invoke the IShellLink interface.
|
|
Shows how you can pass data to your worker threads.
|
|
Introduction to using the Monitor class for accessing shared resources from multiple threads.
|
|
Shows how to use the Mutex class to limit your app to a single instance using a named mutex.
|
|
A basic introduction to serialization using Managed C++
|
|
Demonstrates the use of the reader/writer classes as well as the file/directory info classes.
|
|
Explains the usage of WebRequest, WebResponse and related classes.
|
|
An introduction to managed exception handling in MC++ programs.
|
C# and .NET
|
|
An ownerdrawn multi-column combobox class with support for data-binding
|
|
This articles explains how to implement a TypeDescriptionProvider for a class to support multiple object types using a single class type
|
|
This utility will remove non-web URLs from the shared typed URLs history in Vista, so IE won't show non-web URLs in the dropdown.
|
|
A C++ class that will detect and enumerate the active CLR versions on a machine
|
|
DimmerDialog is a .NET class that shows a modal dialog which grays out the rest of the background, just like the Windows XP Shutdown dialog. This can be used when your application needs to show a very important message box or form that requires immediate user attention.
|
|
MessageBoxManager is a Windows Forms component that you can drag & drop into a Windows Forms project's main form, and it gives you enhanced message box functionality without forcing you to change your existing calls to any of the MessageBox.Show() overloads
|
|
Article shows how to overcome the C# insistence on operator overloads being static and describes a method for simulating polymorphic behavior for operator overloads.
|
|
This article describes a generic Trictionary class derived from Dictionary<> that allows two values of different types per key
|
|
This article goes through the important new features available in C# 4.0
|
|
This article discusses a simple utility class that lets you queue up delegates and then execute them at a later time in a first-in first-out order.
|
|
An elementary introduction to inheritance, polymorphism in C# using simple code snippets.
|
|
This article compares and contrasts the relative performances of various languages like native C++, Visual Basic 6, C#, VB.NET, Managed C++, MC++ and native code mix, ngen'd assemblies etc. using a prime number generation function as a generic benchmark. (Co-Authored by RamaKrishna)
|
|
Two oft-overlooked value types that C# offers and where they can be used.
|
|
Introduces and walks you through the use of delegates in .NET. Compares and contrasts the different approaches that MC++ and C# adopt in the use of delegates. With examples in both languages.
|
|
Introduction to unsafe code.
|
|
An introduction to drag and drop in .NET
|
|
An introduction to using the clipboard
|
|
Beginner's Tutorial on adding tray icons and setting context menus.
|
|
Introduces .NET remoting and the use of asynchronous callbacks using simple code snippets.
|
|
A fully owner drawn ComboBox derived class for enumerating and choosing fonts.
|
|
An owner drawn listbox that supports multi-line word-wrapped text as well as in-place editing.
|
|
A ListBox derived class that supports internal ordering and re-ordering of items.
|
|
A ListBox derived class that shows tool-tips for items that won't fit within the width of the list box.
|
|
This ports Joe Newcomer's AutoRepeat Button class to a .NET control.
|
|
An introduction to using events and event handlers in C#
|
|
Shows with some code snippets how registry handling is a piece of cake with .NET
|
|
Shows how you can use a timer proc in your windows forms apps.
|
|
An introduction to using signaled events for thread synchronization in .NET
|
|
Describes an issue when writing a binary file into a zip file using the java.util.zip classes
|
|
The CPZipStripper tool with source code
|
ASP.NET
|
|
Using nested repeaters in ASP.NET with an XML data store
|
Winsock
|
|
An SMTP proxy class with ability to insert signatures to outgoing mails.
|
|
CPopProxyMT is a skeletal class that wraps a multi-threaded POP3 proxy.
|
|
An introduction to WinSock programming. A simple TCP server is explained.
|
|
A simple TCP client is explained.
|
|
Explains a multithreaded TCP file server, a custom TCP chat protocol and a custom TCP client.
|