Frame Controls

DBCS PM provides three frame controls in addition to all the frame controls supported by SBCS PM. The following are the names (and their class names) of these new frame controls:

These three frame control are used by the input method mechanism to show the on going status of the DBCS keyboard and input method. These three frame controls form the keyboard status line in DBCS PM. The WC_DBE_PECIC control will be located in the keyboard status line or located on the current cursor position (on the spot) depending on the set up of end user.

The following shows where these controls are positioned in a frame window: ┌──────────────────────────────────────────────────────────────────────┐│┌ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┬ ─ ┬ ─ ┐│
│ │-│ │ Title │ │││ │
│S├─┴──────────────────┴───────────────────────┴─────────────────┴─┴─┤s│
│i│ Application Menu │i│
│z├────────────────────────────────────────────────────────────────┬─┤z│
│i│ ││i│
│n│ ├─┤n│
│g│ │ │g│
│ │ │ │ │
│B│ Client Window │ │B│
│o│ │ │o│
│r│ │ │r│
│d│ │ │d│
│e│ ├─┤e│
│r│ ││r│
│ ├─┬────────────────────────────────────────────────────────────┬─┼─┤ │
│ ││ ││ │ │
│ ├─┴───────┬────────────────────────────────────────────────────┴─┴─┤ │
│ │ KBDSTAT │ PECIC or APPSTAT │ │
│ └─────────┴────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘

The following is the actual appearance of a standard window.

The set of three frame controls that make up the DBCS Keyboard Shift Status Display is hereafter referred to as a DBCS Keyboard Shift Status Area.

A DBCS Keyboard Shift Status Area can be added when creating a window by using one frame control flag, FCF_DBE_APPSTAT.

flCreate =  FCF_STANDARD | FCF_DBE_APPSTAT;

hwndFrame = WinCreateStdWindow(
             HWND_DESKTOP,
             WS_VISIBLE,
             (PULONG)&flCreate,
             "MyWindow",
             "",
             0L,
             NULL,
             ID_WINDOW,
             (PHWND)&hwndClient
             );

Since SBCS OS/2 neglects this flag, you need to prepare only one WinCreateStdWindow call with always setting this flag. This flag does not cause error even if you set it on SBCS OS/2.

Now you understand how to define additional controls, you may be wondering why and when you should supply these frame controls to a window. The next section explains the method of inputting DBCS data, and answers the questions above.


[Back: Input Mechanism in DBCS PM]
[Next: DBCS Input and PM Application Programs]