Click here to Skip to main content
14,977,910 members
Articles / Desktop Programming / ATL
Posted 30 Jul 2000


80 bookmarked

CWindowImpl ATL Object Wizard

Rate me:
Please Sign up or sign in to vote.
4.92/5 (9 votes)
24 Apr 2001
This is an ATL Object Wizard that eases window development using CWindowImpl. It removes the redundant copy-n-paste of code between class implementations
  • Download Source Files (MSI)- 175 Kb
  • Download Source Files (FLAT)- 29 Kb
  • Logo - RBCWindowImpl.gif


    This whole project came about after writing numerous CWindowImpl derived classes. I was tired of tracking down a CWindowImpl derived class that I could use as a base. Then from that derived class copy and pasting code segments from it to my newly derived CWindowImpl class implementation. I decided that instead of doing this repeatitive process every time I needed it, I would let an ATL Object Wizard do it for me with just a few clicks and key presses. I hope it eases your development and allows you to be more productive.


    • Extract the MSI (Microsoft Installer) file from the source zip file above.
    • Run the RBCWindowImpl MSI file. It will install the files to the correct location as long as you set the install directory to be the drive and directory of Visual Studio.

    Examples of <DEVSTUDIO>:

    • D:\Program Files\Microsoft Visual Studio
    • C:\MyDevEnv

    It will then install the files to <DEVSTUDIO>\Common\MSDev98\Template\ATL.


    To create a CWindowImpl derived implementation, do the following:

    1. Start the ATL Object Wizard using the 'New ATL Object' option avalable from the Insert menu.

      Logo - RBCWindowImpl1.gif

    2. Select the "CWindowImpl" ATL Object Wizard component from the "RadBytes" category.

      Logo - RBCWindowImpl2.gif

    3. Fill in the Names Dialog page with your CWindowImpl derived class name information.
    4. Select CWindowImpl Property Page to Customize CWindowImpl derived class information (optional).

      CWindowImpl Property Page (class view) - RBCWindowImpl3.gif
      Options available when DECLARE_WND_CLASS is selected.

      CWindowImpl Property Page (classex view) - RBCWindowImpl4.gif
      Options available when DECLARE_WND_CLASS_EX is selected.

      CWindowImpl Property Page (superclass view) - RBCWindowImpl5.gif
      Options available when DECLARE_WND_SUPERCLASS is selected.

    5. Click Ok
    6. Implement your derived CWindowImpl class.

    Generated Code And Output

    Your project has now been fitted with the CWindowImpl derived class you have named and is ready for use. It gives a basic implementation without any message handlers added. The output created is a Source and Header files from the Short Name supplied in the ATL Object Wizard property page. The only existing file that gets modified by the wizard is your Project file (.DSP).


    The code generated will compile both under UNICODE and ANSI.


    31 Jul 2000- Initial Release
    15 Aug 2000 - Fixed bug in template header file for Message map name.
    - Fixed MSI install for correct placement of files.
    - Fixed DECLARE_WND_SUPERCLASS original class name bug for common controls.
    - Removed Debug condition from ctl file for wizard.
    25 Apr 2001- Packaged for deployment in plain old ZIP file with install instructions.


    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    About the Author

    Erik Thompson
    Web Developer
    United States United States
    Erik lives in Redmond, Washington. He works as a Senior Software Engineer specializing in C++, COM, ATL and the middle-tier and now .NET. When he isn't coding for work, he can be found trying to extend Internet Explorer with yet another Desk band or simplifying his development process with ATL Object Wizards.

    He spends his free time snowboarding, mountain biking, and online gaming.

    Comments and Discussions

    GeneralDeskBand Install Vista Issue Pin
    Dabara18-Aug-09 20:25
    MemberDabara18-Aug-09 20:25 
    General[Message Removed] Pin
    nompel6-Oct-08 9:14
    Membernompel6-Oct-08 9:14 
    GeneralGreat, thanks! Pin
    peterchen25-Jul-06 23:58
    Memberpeterchen25-Jul-06 23:58 
    GeneralGreat Work Pin
    PrafullaT21-Jul-06 1:25
    MemberPrafullaT21-Jul-06 1:25 
    GeneralRe: Great Work Pin
    PrafullaT14-Sep-06 3:34
    MemberPrafullaT14-Sep-06 3:34 
    QuestionI have installed ,but there isn't icon like above,why? Pin
    wangshilei28-Apr-05 17:35
    Memberwangshilei28-Apr-05 17:35 
    AnswerRe: I have installed ,but there isn't icon like above,why? Pin
    yuzhenzhen11-Apr-06 1:56
    Memberyuzhenzhen11-Apr-06 1:56 
    GeneralRe: I have installed ,but there isn't icon like above,why? Pin
    paulccc17-Aug-06 23:54
    Memberpaulccc17-Aug-06 23:54 
    GeneralHello Pin
    mfedit26-Apr-05 2:28
    Membermfedit26-Apr-05 2:28 
    Generalwizard choise BUTTON no picture Pin
    margus19-Nov-03 3:40
    Membermargus19-Nov-03 3:40 
    GeneralRe: wizard choise BUTTON no picture Pin
    Erik Thompson19-Nov-03 10:19
    sitebuilderErik Thompson19-Nov-03 10:19 
    QuestionCan i pass the window message from ... Pin
    Saeed A. Siddiqui9-Nov-02 16:00
    MemberSaeed A. Siddiqui9-Nov-02 16:00 
    AnswerRe: Can i pass the window message from ... Pin
    Erik Thompson13-Nov-03 7:07
    sitebuilderErik Thompson13-Nov-03 7:07 
    QuestionVS.NET support? Pin
    Jörgen Sigvardsson30-Aug-02 22:48
    MemberJörgen Sigvardsson30-Aug-02 22:48 
    AnswerRe: VS.NET support? Pin
    Erik Thompson13-Nov-03 6:45
    sitebuilderErik Thompson13-Nov-03 6:45 
    GeneralRe: VS.NET support? Pin
    bramp26-May-04 6:58
    Memberbramp26-May-04 6:58 
    Generalabout Toolbar Pin
    omid daghdar23-Aug-02 23:12
    Memberomid daghdar23-Aug-02 23:12 
    GeneralRe: about Toolbar Pin
    Erik Thompson13-Nov-03 6:59
    sitebuilderErik Thompson13-Nov-03 6:59 
    QuestionCan Not Download Pin
    3-Jul-02 9:18
    suss3-Jul-02 9:18 
    AnswerRe: Can Not Download Pin
    Erik Thompson3-Jul-02 10:09
    sitebuilderErik Thompson3-Jul-02 10:09 
    GeneralRe: Can Not Download Pin
    7-Jul-02 0:44
    suss7-Jul-02 0:44 
    GeneralAdding a drop-menu to the button Pin
    Paul Ingles19-Apr-02 8:51
    MemberPaul Ingles19-Apr-02 8:51 
    QuestionRadBytes?? Pin
    20-Mar-02 19:41
    suss20-Mar-02 19:41 
    AnswerRe: RadBytes?? Pin
    19-Apr-02 0:38
    suss19-Apr-02 0:38 
    GeneralI can select atl templates... Pin
    13-Jan-02 5:51
    suss13-Jan-02 5:51 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.