MRESULT EXPENTRY MyDialogProc ( HWND hwndDlg, ULONG msg , MPARAM mp1, MPARAM mp2 ) { SOMAny *somSelf; /* Temporary ptr to object instance */ PWINDATA pwin; /* Window data */ PSZ psz; /* User title to manipulate */ HWND hwndEntry; /* Window handle */ CHAR buf[30]; /* Buffer */ switch( msg ) { case WM_INITDLG: somSelf = (SOMAny *) mp2; /* obtain creation parms */ pwin = (PWINDATA) _wpAllocMem ( somSelf, sizeof (WINDATA), NULL ); WinSetWindowPtr (hwndDlg, QWL_USER, pwin ); /* Initialize the windata structure */ pwin->somSelf = somSelf; pwin->somClassObj = _somGetClass ( pwin->somSelf ); /* query title string from instance data, and fill */ /* entryfield with the string */ psz = _UserGetTitle ( pwin->somSelf ); hwndEntry = WinWindowFromID ( hwndDlg, DLG_ENTRYFIELD ); WinSetWindowText ( hwndEntry, psz ); WinSetFocus ( HWND_DESKTOP, hwndEntry ); /* return TRUE to tell PM that we changed focus */ return (MRESULT) TRUE ; case WM_DESTROY: pwin = (PWINDATA) WinQueryWindowPtr ( hwndDlg, QWL_USER ); /* Save entryfield data to instance fields */ hwndEntry = WinWindowFromID ( hwndDlg, DLG_ENTRYFIELD); WinQueryWindowText ( hwndEntry, sizeof (buf), (PCH) &buf ); /* Save entryfield data to instance data */ _UserSetTitle ( pwin->somSelf, (PSZ) &buf ); /* Save instance data to OS2.INI file *now* */ _wpSaveImmediate ( pwin -> somSelf ); _wpFreeMem( pwin->somSelf,(PBYTE) pwin ); return ( WinDefDlgProc( hwndDlg, msg, mp1, mp2 ) ); } return ( WinDefDlgProc( hwndDlg, msg, mp1, mp2 ) ); }