wpSaveImmediate - Example Code
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 ) );
}
[Back: wpSaveImmediate - Related Methods]
[Next: wpSaveImmediate - Topics]