Browse Prior Art Database

Multi-State Button Manipulation using a Single Graphic

IP.com Disclosure Number: IPCOM000115404D
Original Publication Date: 1995-Apr-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 71K

Publishing Venue

IBM

Related People

Lection, D: AUTHOR [+2]

Abstract

Disclosed is the use of a single bitmap or icon, around which borders are drawn to define the state of a "button" in the push in/out button paradigm used in a computer graphical interface. In this way, a single graphical representation is used for each of a number of button-like controls, regardless of the state of each control.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 54% of the total text.

Multi-State Button Manipulation using a Single Graphic

      Disclosed is the use of a single bitmap or icon, around which
borders are drawn to define the state of a "button" in the push
in/out button paradigm used in a computer graphical interface.  In
this way, a single graphical representation is used for each of a
number of button-like controls, regardless of the state of each
control.

      The Figures show the appearance of a button in various states,
with the letter "X" representing the position of the actual bitmap,
such as a drawing, used to provide the graphical representation.
Fig. 1 shows the button in the "up" position, while Fig. 2 shows the
button in a "depressed" position, with the bitmap moved downward and
to the right.  Fig. 3 shows a disabled state, as grayed out.  Fig. 4
shows the button in two modes, which may be used to represent
conditions such as "released," "latched," or "spring latched."

      The following listing, with input parameters including the
handle of the button to be painted, a handle of the bitmap, an
indicator of whether the bitmap is to be drawn in an "up" or
"depressed" state, and its elevation of height or depression,
provides a method for shifting and bordering a bitmap:
  BOOL Paint3DBitmapInWindow(HWND hWnd, HBITMAP hBitmap, ULONG
ulSense,
   ULONG ulElevation) {
  .
  .
  .
  // declare the depth or height for the X-axis
  ulOffsetX = ulElevation;
  // declare the depth or height for the Y-axis
  ulOffsetY = ulElevation;
  //Get a presentation space
  hPS = WinGetPS( hWnd );
  //Find the size and position of the button
  WinQueryWindowRect(hWnd, &rWindow);
  p.x = rWindow.xLeft...