int OnBtnClick(BOOL *pbHandled) { if(m_hGif1){ XShape_Destroy(m_hGif1); m_hGif1=NULL; } if(m_hGif2){ XShape_Destroy(m_hGif2); m_hGif2=NULL; } XWnd_RedrawWnd(m_hWindow); return 0; }
//鼠标移动 BOOL CALLBACK DragBar_EleMouseMove(HELE hEle,UINT flags,POINT *pPt) { layout_dragBar_* pDrawBar=(layout_dragBar_*)hEle; if(FALSE==pDrawBar->bDown) { if(((layout_dragBar_*)hEle)->bHorizontal) SetCursor(LoadCursor(NULL,IDC_SIZENS)); else SetCursor(LoadCursor(NULL,IDC_SIZEWE)); return FALSE; } HWINDOW hWindow=XEle_GetHWindow(hEle); if(pDrawBar->bHorizontal) { POINT pt=*pPt; XEle_PointToWndClient(hEle,&pt); layoutPane_ *pPane=(layoutPane_*)pDrawBar->pCell->hPane; if(pPane && pane_state_dock==pPane->state) { RECT rcClient; XFrameWnd_GetLayoutAreaRect(hWindow,&rcClient); if(align_bottom==pPane->dockAlign) { int size=pt.y-PANE_DRAGBAR_WIDTH; if(size>(rcClient.top+80) && size<(rcClient.bottom-80)) pDrawBar->pCell->rect.top=size; }else { int size=pt.y+PANE_DRAGBAR_WIDTH; if(size>(rcClient.top+80) && size<(rcClient.bottom-80)) pDrawBar->pCell->rect.bottom=size; } Cell_OnSize2(pDrawBar->pCell,hWindow,TRUE,TRUE); XWnd_RedrawWnd(hWindow); }else { int height=pDrawBar->pCell->rect.bottom-pDrawBar->pCell->rect.top-PANE_DRAGBAR_WIDTH; int scale=50; int size=pt.y-pDrawBar->pCell->rect.top; if(0!=height && 0!=size) { scale=(int)(((size)/(double)height)*100); } if(scale>10 && scale<90) { pDrawBar->pCell->pCell1->scale=scale; // if(cell_type_pane==pDrawBar->pCell->pCell1->type && ((layoutPane_*)pDrawBar->pCell->pCell1->hPane)->bFixedSize) // { pDrawBar->pCell->pCell1->rect.bottom=pt.y; // }else if(cell_type_pane==pDrawBar->pCell->pCell2->type && ((layoutPane_*)pDrawBar->pCell->pCell2->hPane)->bFixedSize) // { pDrawBar->pCell->pCell2->rect.top=pDrawBar->pCell->pCell2->rect.bottom-(pDrawBar->pCell->pCell2->rect.bottom-pt.y)+PANE_DRAGBAR_WIDTH;//-pDrawBar->pCell->rect.left); // } Cell_OnSize2(pDrawBar->pCell,hWindow,TRUE,TRUE); RECT rcDraw=pDrawBar->pCell->rect; int left=XWnd_GetClientLeft(hWindow); int top=XWnd_GetClientTop(hWindow); rcDraw.left+=left; rcDraw.right+=left; rcDraw.top+=top; rcDraw.bottom+=top; XWnd_RedrawWndRect(hWindow,&rcDraw); } } }else { POINT pt=*pPt; XEle_PointToWndClient(hEle,&pt); layoutPane_ *pPane=(layoutPane_*)pDrawBar->pCell->hPane; if(pPane && pane_state_dock==pPane->state) { RECT rcClient; XFrameWnd_GetLayoutAreaRect(hWindow,&rcClient); if(align_right==pPane->dockAlign) { int size=pt.x-PANE_DRAGBAR_WIDTH; if(size>(rcClient.left+80) && size<(rcClient.right-80)) pDrawBar->pCell->rect.left=size; }else { int size=pt.x+PANE_DRAGBAR_WIDTH; if(size>(rcClient.left+80) && size<(rcClient.right-80)) pDrawBar->pCell->rect.right=size; } Cell_OnSize2(pDrawBar->pCell,hWindow,TRUE,TRUE); XWnd_RedrawWnd(hWindow); }else { int width=pDrawBar->pCell->rect.right-pDrawBar->pCell->rect.left-PANE_DRAGBAR_WIDTH; int scale=50; int size=pt.x-pDrawBar->pCell->rect.left; if( 0!=width && 0!=size) { scale=(int)(((size)/(double)width)*100); } if(scale>10 && scale<90) { pDrawBar->pCell->pCell1->scale=scale; // if(cell_type_pane==pDrawBar->pCell->pCell1->type && ((layoutPane_*)pDrawBar->pCell->pCell1->hPane)->bFixedSize) // { pDrawBar->pCell->pCell1->rect.right=pt.x; // }else if(cell_type_pane==pDrawBar->pCell->pCell2->type && ((layoutPane_*)pDrawBar->pCell->pCell2->hPane)->bFixedSize) // { pDrawBar->pCell->pCell2->rect.left=pDrawBar->pCell->pCell2->rect.right-(pDrawBar->pCell->pCell2->rect.right-pt.x)+PANE_DRAGBAR_WIDTH;//-pDrawBar->pCell->rect.left); // } Cell_OnSize2(pDrawBar->pCell,hWindow,TRUE,TRUE); RECT rcDraw=pDrawBar->pCell->rect; int left=XWnd_GetClientLeft(hWindow); int top=XWnd_GetClientTop(hWindow); rcDraw.left+=left; rcDraw.right+=left; rcDraw.top+=top; rcDraw.bottom+=top; XWnd_RedrawWndRect(hWindow,&rcDraw); } } } return FALSE; }