I think using :
FrmHideObject(FrmGetActiveForm(),FrmGetObjectIndex (FrmGetActiveForm(),
ClientListFormUpRepeatButton));
FrmShowObject(FrmGetActiveForm(),FrmGetObjectIndex (FrmGetActiveForm(),
ClientListFormUpRepeatButton));
- similar for Down bttn -
after FrmUpdateScrollers statement is going to solve ur problem :-)
Regds
Sumita
"John R. Violette" <[EMAIL PROTECTED]> on 10/06/99 09:15:16 AM
Please respond to [EMAIL PROTECTED]
To: "Palm Developers Forum List" <[EMAIL PROTECTED]>
cc: (bcc: Malik Sumita-SWD-ITIL-UB/Itilmail)
Subject: Repeat scroll button woes
I have an app that scrolls a client list table just fine. I have two repeat
buttons just as in the address book "ListView". The only problem is that
when I press my scroll buttons up or down there is a square around the
arrow
button that stays highlighted after the release; other than that they work
fine. I want it to look clean like the address book scroll listview. I have
even looked at the code and seem to be doing the same for repeatevents and
ctlenter events.
If I put the update form code in the default case where I think a nil event
is happening, the square highlight goes away, but my button presses on the
scroll buttons don't get detected very well (every 5 or 6 presses).
Any ideas?
Here's the relevant code:
static Boolean CustomerFormEventHandler(EventPtr e)
{
Boolean handled = false;
FormPtr frmP = FrmGetActiveForm();
Char tmpstr[25];
#ifdef __GNUC__
CALLBACK_PROLOGUE
#endif
switch(e->eType)
{
case frmOpenEvent:
//frmP = FrmGetActiveForm();
// Insert code here to fill CustTable with database
// records when form is loaded
//LoadCustTab( frmP);
InitializeClientListTable();
FrmDrawForm( frmP);
handled = true;
break;
case ctlSelectEvent:
switch (e->data.ctlEnter.controlID)
{
case ClientListFormOKButton:
SwitchForm(MainForm);
handled = true;
break;
case ClientListFormAddButton:
SwitchForm(NewClientForm);
handled = true;
break;
default:
handled = false;
}
break;
case ctlEnterEvent:
switch (e->data.ctlEnter.controlID)
{
case ClientListFormDownRepeatButton:
case ClientListFormUpRepeatButton:
//leave unhandled for repeat
//handled = true;
break;
}
FrmUpdateScrollers ( frmP, FrmGetObjectIndex(frmP,
ClientListFormUpRepeatButton),
FrmGetObjectIndex(frmP,ClientListFormDownRepeatButton),
true, true);
FrmDrawForm( frmP);
break;
case ctlRepeatEvent:
switch (e->data.ctlRepeat.controlID)
{
case ClientListFormDownRepeatButton:
ScrollClientList(0);
//leave unhandled for repeat
//handled = true;
break;
case ClientListFormUpRepeatButton:
ScrollClientList(1);
//leave unhandled for repeat
//handled = true;
break;
default:
handled = false;
break;
}
FrmUpdateScrollers ( frmP, FrmGetObjectIndex(frmP,
ClientListFormUpRepeatButton),
FrmGetObjectIndex(frmP,ClientListFormDownRepeatButton),
true, true);
FrmDrawForm( frmP);
break;
default:
//nil event is here I think.
break;
}
#ifdef __GNUC__
CALLBACK_EPILOGUE
#endif
return handled;
}