| INDEXCCRP FAQ Index
 | CCRP Standards Document 23rd January 1998
 The CCRP Team
 Copyright © 1998-2004 Common Controls Replacement Project
     (The CCRP Standards document is provided as information to indicate the stringent policies
    that CCRP developers adhere to during the creation of their controls.)
 
 The following are standards that have been agreed upon by
    the CCRP members.  All CCRP controls should follow these standards unless
    there are exceptional circumstances (such as breaking binary compatibility for controls
    that have already been released), and in these cases you should consult the group. General 
      Each control is assigned a three letter abbreviation
        referred to as xxx for the remainder of this document.Filename in the form 'ccrpxxx.ocx' for SP2 version and
        'ccrpxxxs.ocx' for SP0 version. (Note: SP0 versions no longer provided. See 
      CCRP Policy: Development for Non-Service Pack Visual Basic above.)The UserControl name should be in the form 'ccrpAnimation'The Project Description should be in the form: 'CCRP
        Animation Control' to ensure that our controls are listed together in the Components
        Dialog Box.The Project Name should be in the form 'CCRAnimation' Versioning: Use 0 to indicate a beta with the beta in the
        minor field and build in the revision field. So, 0.6.83 indicates beta 6, build 83All DLL Base Addresses are obtained from the project
        director. Releasing Controls 
      At least one demo should be included with in the release zip
        and should demonstrate the main features of the control. Further advanced demos may also
        be included to demonstrate specific functionality (such as loading an AVI resource).The demos should be installed in subdirectoriesA help file should be provided. The help file should be
        created using Videosoft VSDOCX. Several standard pages should be provided in the help file
        which are provided in the template help project file.Regsvr32.exe and a batch file that runs it should be
        included within the ZIP.Readme.txt should be in a format similar to those that have
        already been released.The ZIP should be called 'ccrpxxx.zip' or 'ccrpxxxs.zip'. In
        addition, for ActiveX.com distribution of controls which are made available in both SP and
        SP0 versions (ActiveX.com does not support downloads of multiple versions), it is
        necessary to provide a third zip called 'ccrpxxxX.zip' that includes both SP and SP0 zips,
        and an explanatory readme file. Standard Properties 
      All controls should implement a ComCtlVer property that
        returns the version of comctl32.dll in the form x.xx.Controls should expose a hWnd property that returns the hWnd
        of the common control. Enums and their values should be prefixed with the
        three-digit abbreviation of the control ID, e.g.    
                      
    Enum aniAppearanceConstantsaniFlat = 0
 ani3D = 1
 End Enum
 
      For all controls that implement (expose) the same property,
        the same names *and* values should be used across controls. This minimizes user learning
        curves, reduces variable mix-up and possible coding errors.  
 For controls that only implement a subset of a larger grouping, then a mechanism to assure
        the same values are used is needed. For example, if controlA has property of xxxFlat as 1,
        xxxRaised as 2, and xxxSunken as 3, and controlB only implements raised and sunken,
        controlB's values should remain constant with controlA's. In other words. controlB's
        properties show the options 2 - xxxRaised and 3 - xxxSunken. The user only needs to learn
        one set of variables for a property and use it confidently across controls.
 
      The current list of standard Enums is: 
      Enum xxxAppearancexxxFlat = 0
 xxx3D = 1
 xxx3DRaised = 2
 End Enum
 Enum xxxBorderStylexxxNone = 0
 xxxFixedSingle = 1
 xxxRaised3D = 2
 End Enum
 
      Public Enum aniBackStyleConstantsxxxTransparent = 0
 xxxOpaque = 1
 End Enum
 
      Public Enum hkyDropModeConstantsxxxNone = 0
 xxxManual = 1
 End Enum
 
 |