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/
