SAMPLE: Right Justifying Numbers in a Windows List Box

Last reviewed: July 22, 1997
Article ID: Q64078
3.00 3.10 WINDOWS kbprg kbfile

The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) for Windows versions 3.0 and 3.1

In versions of Windows earlier than 3.0, it is possible to align columns of information in a list box with spaces because all characters in the system font are the same width. In Windows 3.0, the system font is proportionally spaced with letters of differing widths, which prevents this technique from being usable.

Tabs can be used to align columns in a list box. The LBS_USETABSTOPS style must be specified when the list box is created. Then, set a tab to correspond with the position of each character of each numeric column. The tabs are specified in dialog units, which are one-fourth of a character width. For example, a three-digit field that should align 12 characters from the left edge of the dialog box can be implemented by setting tabs at positions 40, 44, and 48. This is illustrated below:

    +------------+
    |text     xxx|
    |longer    xx|
              ^^^
              ||+- position 48
              |+-- position 44
              +--- position 40

After determining the text to insert in the list box, convert the spaces to the appropriate number of tabs as the following code fragment demonstrates:

   sprintf(szNumBuffer, "%3d", Number);
   for (i = 0; i < 3; i++)
     if (szNumBuffer[i] == ' ')
        szNumBuffer[i] = '\t';

This code uses the three tabs set above.

There is a file in the Microsoft Software Library named RIGHTJUS that illustrates this convention.

NOTE: This sample is applicable only to Windows 3.1, NOT to Win32.

Download RIGHTJUS.EXE, a self-extracting file, from the Microsoft Software Library (MSL) on the following services:

  • Microsoft Download Service (MSDL)

          Dial (206) 936-6735 to connect to MSDL
          Download RIGHTJUS.EXE (size: 21088 bytes) 
    
  • Internet (anonymous FTP)

          ftp ftp.microsoft.com
          Change to the \SOFTLIB\MSLFILES directory
          Get RIGHTJUS.EXE (size: 21088 bytes) 
    


Additional reference words: 3.00 3.10 softlib RIGHTJUS.EXE
KBCategory: kbprg kbfile
KBSubcategory: UsrCtl
Keywords : kb16bitonly UsrCtl kbfile kbprg
Version : 3.00 3.10
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 22, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.