Greetings Dmitry,

Did you ever find a solution to this problem with dynamic forms and the DIA?

The problem I am seeing (in addition to the one you mention) is that on the 
Palm TX, when I change the screen rotation via SysSetOrientation (or via the 
Palm DisplayExtent lib SetRotation function), and then jump to a new dynamic 
form, the form is first rendered in the user preference rotation mode (eg. 
portrait) and then switches to the orientation I've set.  That makes for a 
very poor transition from form to form.  This does not happen on the T5 or 
LifeDrive, just the TX.

It does not happen if I change the screen orientation using the status bar 
icon, only if I change it via the API call.  Is there a way to simulate the 
tapping of the screen rotation icon on the status bar, in code?  [On the LD 
this is simple because it has a hardware rotation button that can be 
simulated with a virtual key, but no such luck on the TX.]

Regards,

-- 
David Thacker
http://www.SatelliteForms.net
The Premier RAD Tool for PalmOS & PocketPC



"Dmitry Grinberg" <> wrote in message news:[EMAIL PROTECTED]
hello,



the problem is as follows. if a form is created dynamically:

fp=FrmNewForm(1400,"GRRR",2,2,156,156,true,1000,0,0);

the DIA opens up any time it becomes the active form.
THE SAME form, made in PlRC designer and saved with ID 1400 (same) in
file and loaded with

fp=FrmInitForm(1400)

works just fine with dia

here is the code following the form initialization:

WinHandle wh;
FormPtr fp;
Int16 W,H;//screen sizes
EventType e;

wh=WinSetDrawWindow(WinGetDisplayWindow());
WinGetWindowExtent(&W,&H);
WinSetDrawWindow(wh);

//HERE WE EITHER CREATE OR INIT FORM, store FormPtr into "fp"


FrmSetActiveForm(fp);
FrmSetDIAPolicyAttr(fp,frmDIAPolicyCustom);
PINSetInputAreaState(PINGetInputAreaState());//no idea why, but PalmOS
FrmHelp does this internally to keep dia where it is. indeed this
works :-)
PINSetInputTriggerState(pinInputTriggerDisabled);
{

RectangleType r;

RctSetRectangle(&r,2,2,W-2,H-2);

WinSetBounds(FrmGetWindowHandle(fp),&r);

}
FrmDrawForm(fp);

do{

EvtGetEvent(&e,evtWaitForever);

if(!SysHandleEvent(&e)){

if(!FrmHandleEvent(fp,&e)){

//nothing needed here really

}

}
}while(e.eType!=ctlSelectEvent || e.data.ctlSelect.controlID!=1000);




correct behavior is: if dia was showing, the new form takes up
160x160, if dia was open, the new form take up all available space.



so does anyone know what is wrong with FrmNewForm()?


-- 
Best Regards,
Dmitry Grinberg



-- 
For information on using the ACCESS Developer Forums, or to unsubscribe, please 
see http://www.access-company.com/developers/forums/

Reply via email to