| Home Page | Recent Changes | Preferences

# Useful UWindow Extensions/Checkbox

## Auto-Sizing Checkbox

Checkboxes (UWindowCheckbox) consist of a caption and a little fixed-sized box. Auto-sizing changes the width of the control without changing the location of the box. With this piece of code you can create checkboxes that have the box on the same side as the text alignment.

    var bool bAutoSize; // adjust the size of the control to its Text's size

    function BeforePaint(Canvas C, float X, float Y)
    {
        local float TW, TH;

        if ( bAutoSize ) {
            if ( Text == "" ) {
                TW = 0;
                TH = 16;
            }
            else {
                if ( Align == TA_Left )
                    TextSize(C, Text $ " ", TW, TH);
                else if ( Align == TA_Right )
                    TextSize(C, " " $ Text, TW, TH);
                else
                    TextSize(C, Text, TW, TH);
                TH = Max(TH, 16);
            }

            if ( Align == TA_Left )
                WinLeft -= TW + TH - WinWidth;
            else if ( Align == TA_Center )
                WinLeft -= (TW + TH - WinWidth) / 2;
            WinWidth = TW + TH;
        }
        Super.BeforePaint(C, X, Y);
    }

Notes:

- `Align = TA_Center` will look kind of strange with checkboxes.
- `TA_Left` means "Display text on the left", so use `TA_Right` to display box and text left-aligned with the auto-size feature.

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In