The information area is a small rectangular area that is usually located at the bottom of a frame window. You can use the information area to display:
Use the IInfoArea class to create and manage the information area. Objects of IInfoArea class provide a frame extension to show information about the menu item where the cursor is positioned. The string displayed in the information area is defined in a string table in the resource file.
The following sample uses the IInfoArea class to create the information area and the text to display in it.
#include "ahellow3.h"
ICON WND_MAIN ahellow3.ico
STRINGTABLE
BEGIN
STR_HELLO, "Hello, World!!!"
WND_MAIN, "Hello World Sample - Version 3"
STR_INFO, "Use Alt-F4 to Close Window"
MI_ALIGNMENT,"Alignment Menu"
MI_CENTER, "Set Center Alignment"
MI_LEFT, "Set Left Alignment"
MI_RIGHT, "Set Right Alignment"
STR_CENTER, "Center Alignment"
STR_LEFT, "Left Alignment"
STR_RIGHT, "Right Alignment"
END
//**************************************************************************
// Menu bar for main window - used by IMenuBar Class *
// Define menu bar layout and relate symbolic names to menu item strings.*
//**************************************************************************
MENU WND_MAIN
BEGIN
SUBMENU "~Alignment", MI_ALIGNMENT
BEGIN
MENUITEM "~Left", MI_LEFT
MENUITEM "~Center", MI_CENTER
MENUITEM "~Right", MI_RIGHT
END
END
The same resource file would appear as follows for a Windows application:
#include "ahellow3.h"
WND_MAIN ICON ahellow3.ico
STRINGTABLE
BEGIN
STR_HELLO , "Hello, World!!!"
WND_MAIN , "Hello World Sample - Version 3"
STR_INFO , "Use Alt-F4 to Close Window"
MI_ALIGNMENT , "Alignment Menu"
MI_CENTER , "Set Center Alignment"
MI_LEFT , "Set Left Alignment"
MI_RIGHT , "Set Right Alignment"
STR_CENTER , "Center Alignment"
STR_LEFT , "Left Alignment"
STR_RIGHT , "Right Alignment"
END
WND_MAIN MENUEX
BEGIN
POPUP "&Alignment" , MI_ALIGNMENT
BEGIN
MENUITEM "&Left" , MI_LEFT
MENUITEM "&Center" , MI_CENTER
MENUITEM "&Right" , MI_RIGHT
END
END
class AHelloWindow : public IFrameWindow
{
public:
enum Alignment
{
left, center, right
};
AHelloWindow(const unsigned long windowId);
virtual
~AHelloWindow();
/*------------------------------------------------------------------------|
| This function is used to change the hello static text window. |
| setTextAlignment - Align the static text horizontally. The text is |
| always centered vertically by design. |
|------------------------------------------------------------------------*/
virtual AHelloWindow
&setTextAlignment( const Alignment alignment);
private:
IMenuBar menuBar;
IStaticText statusLine;
IStaticText hello;
IInfoArea infoArea;
ACommandHandler commandHandler;
};
AHelloWindow :: AHelloWindow(const unsigned long windowId)
: IFrameWindow(IFrameWindow::defaultStyle() |
IFrameWindow::minimizedIcon,
windowId)
,menuBar(WindowId, this)
,statusLine(WND_STATUS, this, this)
,hello(WND_HELLO, this, this)
,infoArea(this)
,commandHandler(this)
{
/*------------------------------------------------------------------------|
| Set the hello world static text window as the client window. |
|------------------------------------------------------------------------*/
setClient(&hello);
/*------------------------------------------------------------------------|
| Add the status line as an extension to the frame above the client |
| window with the height calculated from the maximum height of a |
| character in the current font. |
|------------------------------------------------------------------------*/
addExtension(&statusLine,
IFrameWindow::aboveClient,
IFont(&statusLine).maxCharHeight());
/*------------------------------------------------------------------------|
| Set the values for the text controls from strings in the resource file.|
| The infoArea default text is displayed when no menu item is active. |
|------------------------------------------------------------------------*/
hello.setText(STR_HELLO);
infoArea.setInactiveText(STR_INFO);
![]()
Creating a Frame Window
Providing Help Information
![]()
IFrameWindow
IFlyText
IFlyOverHelpHandler