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;

}








Reply via email to