User Interface for .NET / User's Guide / Custom Forms / Creating Custom Frame

In This Topic
    Creating Custom Frame
    In This Topic

    The following tutorial will explain the logic used by our forms when rendering the custom frames and how the images should be created and assigned. 

     Expected Image Structure

     

    Images from our predefined frame VistaRoyal

     

    The custom image should have identical structure. Two images should be provided - one for an active frame and one for inactive.

     Margins

    Margins are very important for the frame to be rendered properly. For the above example the margins are defined as:

     

    • Left - 47
    • Right - 47
    • Top - 28 (this should be the height of the caption)
    • Bottom - 5

     

    The client area of the Form is excluded from the non-client painting so it doesn't matter what filling will have the inner frame space. For more information see Segmented Image

     Rounded Corners And Transparency
    Our framework will automatically exclude any transparent pixels found in the provided image from the visible region of the Form. Currently only pixels around the four corners of the image are processed and excluded if needed.
     Non-client Metrics

    To completely define the frame you will have to specify the non-client metrics.

    For the above example these are defined as follows:

     

    • CaptionHeight - 28
    • TopBorder - 4. Note that the top border is not added to the caption height. It is used to properly respond to WM_NCHITTEST message.
    • LeftBorder - 4
    • RightBorder - 4
    • BottomBorder - 4 
     Caption Buttons

    The NFrameAppearance object provides five image sets to be used for the predefined buttons:

     

     

    Optionally you may add custom buttons, specify their images and capture their clicks.

     

    See Also

    Forms Overview | Frame Appearance Template

    See Also