void CExampleMDIApp::OnFileOpen()

{ HANDLE hDialog = OSDInit(true, "MDITEST", 0, 0, 0, OFN_HIDEREADONLY | OFN_FILEMUSTEXIST| OFN_ALLOWMULTISELECT, 0, AfxGetMainWnd()->m_hWnd); if(hDialog) { OSDRET osResult=OSDDoModal(hDialog, 0); if(osResult==OSD_OK) { int nCount = 0; OSD_POSITION position=0; OSDGetStartPosition(hDialog,&position); while(position) { char szFileBuff[MAX_PATH]={0}; INT nSize=sizeof(szFileBuff); HBITMAP hBitmap=NULL; OSDGetNextPathNameAndFileHBITMAP(hDialog,&position,szFileBuff,&nSize,&hBitmap); CExampleMDIDoc *pDocument=(CExampleMDIDoc*)OpenDocumentFile(szFileBuff); if(hBitmap && pDocument) { pDocument->m_hBitmap=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); } }