Appendix A: System Routines — Menus
901
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
PopupBegin
(continued)
Example:
WORD v;
HANDLE pnH, pbH;
if (!(pnH = PopupNew( "PopupBegin POPUP", 0 )))
ER_THROW( ER_MEMORY );
DynMenuAdd( pnH, 0, "NORMAL", 1, DMF_TEXT | DMF_TOP );
DynMenuAdd( pnH, 0, "WILL BE CHECKED", 2, DMF_TEXT | DMF_TOP );
DynMenuAdd( pnH, 0, "WILL BE DISABLED", 3, DMF_TEXT | DMF_TOP );
DynMenuAdd( pnH, 0, "PARENT", 4, DMF_TEXT | DMF_TOP_SUB );
DynMenuAdd( pnH, 4, "CHILD 1 (to be checked)", 5, DMF_TEXT | DMF_CHILD);
DynMenuAdd( pnH, 4, "CHILD 2 (to be disabled)", 6, DMF_TEXT | DMF_CHILD);
DynMenuAdd( pnH, 4, "CHILD 3 (to change)", 7, DMF_TEXT | DMF_CHILD);
if (MenuFlags(pnH) & MF_ERROR) {
HeapFree( pnH );
ER_THROW( ER_MEMORY );
}
v = PopupDo( pnH, -1, -1, 0 );
if (!DynMenuChange(pnH, 7, "NEW CHILD 3", DMF_TEXT)) {
HeapFree( pnH );
ER_THROW( ER_MEMORY );
}
if (!(pbH = PopupBegin( pnH, 0 ))) {
HeapFree( pnH );
ER_THROW( ER_MEMORY );
}
PopupSubStat( pbH, 3, FALSE ); /* PopupSubStat is same as MenuSubStat */
PopupSubStat( pbH, 6, FALSE );
PopupCheck( pbH, 2, MC_CHECK ); /* PopupCheck is same as MenuCheck */
PopupCheck( pbH, 5, MC_FLIP );
v = PopupBeginDo( pbH, -1, -1, 0 );
MenuEnd( pbH ); /* will also free pnH */