> OK, I coded this up but it does not work for my 5.0 Tungsten T device nor
> in the emulator running 4.1.
My test application is below, sorry for the long email. It works with POSE and
OS4.0, and on my T|T.
I forgot to mention that the command bar has to be erased on menuEvent since
all icons are removed.
Good luck!
Bodo
--- commandBar.c --- 8>< --------------------------------
#include <PalmOS.h>
#include "commandBar.h"
static Boolean bar = false;
static Boolean FormHandleEvent(EventType *evtP) {
static FormType *frmP = NULL;
RectangleType r;
switch (evtP->eType) {
case nilEvent:
if (frmP == NULL)
return false;
if (bar)
return false;
r.topLeft.x = 80 - 10;
r.topLeft.y = 0;
r.extent.x = 20;
r.extent.y = 160;
WinInvertRectangle(&r, 2);
return false;
case frmOpenEvent:
frmP = FrmGetActiveForm();
FrmDrawForm(frmP);
bar = false;
return true;
case frmCloseEvent:
frmP = NULL;
return false;
case menuCmdBarOpenEvent:
MenuCmdBarAddButton(menuCmdBarOnRight, BarInfoBitmap,
menuCmdBarResultMenuItem, menuIdEntry, NULL);
bar = true;
return false;
case menuEvent:
MenuEraseStatus(NULL);
return true;
default:
return false;
}
}
static Boolean ApplicationHandleEvent(EventType *evtP) {
FormType *frmP;
if (evtP->eType == frmLoadEvent) {
frmP = FrmInitForm(evtP->data.frmLoad.formID);
FrmSetActiveForm(frmP);
switch (evtP->data.frmLoad.formID) {
case formId:
FrmSetEventHandler(frmP, FormHandleEvent);
break;
default:
break;
}
return true;
}
return false;
}
UInt32 PilotMain(UInt16 cmd, void *cmdPBP, UInt16 launchFlags) {
if (cmd == sysAppLaunchCmdNormalLaunch) {
EventType evt;
FrmGotoForm(formId);
do {
UInt16 err;
EvtGetEvent(&evt, SysTicksPerSecond() / 4);
if (!SysHandleEvent(&evt))
if (!MenuHandleEvent(NULL, &evt, &err))
if (!ApplicationHandleEvent(&evt))
FrmDispatchEvent(&evt);
if (bar)
if (!MenuCmdBarGetButtonData (0, NULL, NULL, NULL, NULL))
bar = false;
} while (evt.eType != appStopEvent);
FrmCloseAllForms();
}
return errNone;
}
--- commandBar.h --- 8>< --------------------------------
#define formId 1000
#define menuId 1200
#define menuIdEntry 1201
--- commandBar.rcp --- 8>< ------------------------------
#include "commandBar.h"
FORM ID formId AT (0 0 160 160)
MENUID menuId
BEGIN
TITLE "Command Bar Test"
LABEL "The vertical bar is" AUTOID AT (30 100)
LABEL "permanently drawn" AUTOID AT (PREVLEFT PREVBOTTOM)
END
MENU ID menuId
BEGIN
PULLDOWN "Foo"
BEGIN
MENUITEM "Bar" ID menuIdEntry "F"
END
END
--- end --- 8>< -----------------------------------------
--
For information on using the Palm Developer Forums, or to unsubscribe, please
see http://www.palmos.com/dev/support/forums/