Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 536 of file filedlg31.c.
Referenced by FD31_DiskChange(), FD31_FileTypeChange(), and FD31_WMCommand().
{ LONG lRet; HWND hWnd = lfs->hwnd; OPENFILENAMEW ofnsav; LPOPENFILENAMEW ofnW = lfs->ofnW; WCHAR filename[BUFFILE]; ofnsav = *ofnW; /* for later restoring */ /* get current file name */ if (path) lstrcpynW(filename, path, sizeof(filename)/sizeof(WCHAR)); else GetDlgItemTextW( hWnd, edt1, filename, sizeof(filename)/sizeof(WCHAR)); TRACE("got filename = %s\n", debugstr_w(filename)); /* if we did not click in file list to get there */ if (control != lst1) { if (!FD31_TestPath( lfs, filename) ) return FALSE; } FD31_UpdateResult(lfs, filename); if (internalUse) { /* called internally after a change in a combo */ if (lfs->hook) { FD31_CallWindowProc(lfs, lfs->lbselchstring, control, MAKELONG(itemIndex,CD_LBSELCHANGE)); } return TRUE; } FD31_UpdateFileTitle(lfs); if (lfs->hook) { lRet = FD31_CallWindowProc(lfs, lfs->fileokstring, 0, lfs->lParam ); if (lRet) { *ofnW = ofnsav; /* restore old state */ return FALSE; } } if ((ofnW->Flags & OFN_ALLOWMULTISELECT) && (ofnW->Flags & OFN_EXPLORER)) { if (ofnW->lpstrFile) { LPWSTR str = ofnW->lpstrFile; LPWSTR ptr = strrchrW(str, '\\'); str[lstrlenW(str) + 1] = '\0'; *ptr = 0; } } return TRUE; }