Appendix A: System Routines — Menus
877
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
MenuAddText
(continued)
Example:
HANDLE hNewMenu, hDrawMenu;
WORD key;
static const WORD IconEraser[] = {0x0000, 0x0000, 0x007E, 0x0086, 0x010A, 0x0212,
0x0422, 0x0844, 0x1088, 0x2110, 0x7E20, 0x7E40, 0x7E80, 0x7F00, 0x0000, 0x0000};
if (!(hNewMenu = MenuNew( 0, 240, 0 )))
ER_throw(ER_MEMORY);
MenuAddText( hNewMenu ,0, "TOP 1", 1, 0 );
MenuAddText( hNewMenu, 0, "TOP 2", 2, 0 );
MenuAddText( hNewMenu, 1, "SUB 1", 11, DMF_CHILD);
MenuAddIcon( hNewMenu, 1, &IconEraser[0], 12, DMF_CHILD);
if (MenuFlags(hNewMenu) & MF_ERROR) {
HeapFree( hNewMenu );
ER_throw(ER_MEMORY);
}
if (!(hDrawMenu = MenuBegin(NULL, -1, 0, MBF_HMENU, hNewMenu ))) {
HeapFree( hNewMenu );
ER_throw(ER_MEMORY);
}
key = MenuKey( hDrawMenu, KB_F1 );
MenuEnd( hDrawmenu ); /* will also free hNewMenu since we set MBF_HMENU */