void CExampleSDIApp::OnFileOpen()

{ HANDLE hDialog = OSDInit(true, "SDITEST", 0, 0, 0, 0, 0, AfxGetMainWnd()->m_hWnd); if(hDialog) { OSDRET osResult=OSDDoModal(hDialog, 0); if(osResult==OSD_OK) { char szFileBuff[MAX_PATH]={0}; int nSize=sizeof(szFileBuff); OSDGetPathName(hDialog, szFileBuff,&nSize); if(CFileFind().FindFile(szFileBuff)) { CExampleSDIDoc *pDocument=(CExampleSDIDoc*)OpenDocumentFile(szFileBuff); if(pDocument) { OSDGetFileHBITMAP(hDialog, &pDocument->m_hBitmap); if(pDocument->m_hBitmap) { POSITION ps=pDocument->GetFirstViewPosition(); CScrollView *pView=(CScrollView*)pDocument->GetNextView(ps); if(pView) { CBitmap *pBitmap=CBitmap::FromHandle(pDocument->m_hBitmap); BITMAP bm={0}; pBitmap->GetBitmap(&bm); CSize sizeTotal; sizeTotal.cx = bm.bmWidth; sizeTotal.cy = bm.bmHeight; pView->SetScrollSizes(MM_TEXT,sizeTotal); } } } } } OSDRelease(hDialog); } }