void CMapView::Resize(const RECT& r) { clientrect=r; MoveWindow(hWnd,r.left,r.top,r.right-r.left,r.bottom-r.top,true); ScrollWin(xwin,ywin); }
//-----------------Callbacks--------------------- LRESULT CMapView::MsgProc(UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { case WM_LBUTTONDOWN: bMouseleft =true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_LBUTTONUP: bMouseleft =false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_RBUTTONDOWN: bMouseright=true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_RBUTTONUP: bMouseright=false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_MBUTTONDOWN: bMousemid =true; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_MBUTTONUP: bMousemid =false; HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_MOUSEMOVE: HandleMouse(LOWORD(lParam),HIWORD(lParam),wParam); return 0; case WM_VSCROLL: switch (LOWORD(wParam)) { case SB_BOTTOM: ScrollWin(xwin,pMap->Height()*pVsp->Height()); return 0; case SB_TOP: ScrollWin(xwin,0); return 0; case SB_LINEDOWN: ScrollWin(xwin,ywin+1); return 0; case SB_LINEUP: ScrollWin(xwin,ywin-1); return 0; case SB_PAGEDOWN: ScrollWin(xwin,ywin+clientrect.bottom); return 0; case SB_PAGEUP: ScrollWin(xwin,ywin-clientrect.bottom); return 0; case SB_THUMBTRACK: case SB_THUMBPOSITION: ScrollWin(xwin,HIWORD(wParam)); return 0; } break; case WM_HSCROLL: switch (LOWORD(wParam)) { case SB_BOTTOM: ScrollWin(pMap->Width()*pVsp->Width(),ywin); return 0; case SB_TOP: ScrollWin(0,ywin); return 0; case SB_LINEDOWN: ScrollWin(xwin+1,ywin); return 0; case SB_LINEUP: ScrollWin(xwin-1,ywin); return 0; case SB_PAGEDOWN: ScrollWin(xwin+clientrect.right,ywin); return 0; case SB_PAGEUP: ScrollWin(xwin-clientrect.right,ywin); return 0; case SB_THUMBTRACK: case SB_THUMBPOSITION: ScrollWin(HIWORD(wParam),ywin); return 0; } break; case WM_PAINT: { PAINTSTRUCT ps; BeginPaint(hWnd,&ps); pGraph->ForceShowPage(); EndPaint(hWnd,&ps); return 0; } case WM_CLOSE: return 0; case WM_DESTROY: return 0; } return DefWindowProc(hWnd,msg,wParam,lParam); }
/** * @brief When timeout the Timer call this function. * * @param timer The Navigate timer,watch the document load. * * @return */ NS_IMETHODIMP nsBrowserListener::Notify(nsITimer *timer) { LOG<<"timmer start:"<<running<<"count"<<timeCount<<"isScroll"<<isScrolled<<"\n"; LOG<<"doc flag:"<<docStop<<" win flag"<<WinStop<<"\n"; int breTime=(int)(interTime*(float)1000); if(running==NOT_RUN) { if(brwStop) { LOG<<"stop browser set!\n"; timer->Cancel(); exit(1); }else { if(docStop&&WinStop) { LOG<<"doc fetched!\n"; if(scroolWait>0&&!isScrolled) { ScrollWin(); SetRunning(RUNNING); isScrolled=true; breTime=scroolWait*1000; }else { //Init event stat. SetEventWait(false); nsCOMPtr<nsIWebNavigation> nav = do_QueryInterface(mBro); if(!browError) { //redirect the browser to the target ReDirect(nav); if(!isred) { Excute(nav); } } //if the evenWait has set, do not change the web site. if(evenWait||isred) { SetRunning(RUNNING); breTime=1000; }else { nsCString tmpUrl; GetUrl(tmpUrl); LOG<<tmpUrl.get()<<"\n"; if(tmpUrl.Length()>0) { //init running stat and scrool stat. SetRunning(RUNNING); isScrolled=false; //navigate the web site. WebNav(nav,tmpUrl); }else { StopBrows(); } } } }else { LOG<<"waite count set!\n"; if(timeCount>3) { docStop=true; WinStop=true; timeCount=0; }else { timeCount++; } } } }else { LOG<<"set not run!\n"; timeCount=0; SetRunning(NOT_RUN); breTime=6000; } timeOut->Cancel(); LOG<<"timmer stop:"<<running<<"inter time:"<<breTime<<"\n"; timeOut->InitWithCallback(this, breTime, 0); return NS_OK; }