//插入GIF BOOL CALLBACK OnEventBtnClick_GIF(HELE hEle,HELE hEventEle) { if(hEle != hEventEle) return FALSE; int row=0; int column=0; XRichEdit_GetCurrentPos(hRichEdit2,&row,&column); XRichEdit_InsertImageGif(hRichEdit2,L"gif\\222.gif",row,column); XEle_RedrawEle(hRichEdit2); return TRUE; }
//插入图片 BOOL CALLBACK OnEventBtnClick_Image(HELE hEle,HELE hEventEle) { if(hEle != hEventEle) return FALSE; int row=0; int column=0; XRichEdit_GetCurrentPos(hRichEdit2,&row,&column); HIMAGE hImage=XImage_LoadFile(L"image\\tou.jpg"); XRichEdit_InsertImage(hRichEdit2,hImage,L"image\\tou.jpg",row,column); XEle_RedrawEle(hRichEdit2); return TRUE; }
//默认字体颜色改变 BOOL CALLBACK OnEventEditChange_default_color(HELE hEle,HELE hEventEle) { if(hEle != hEventEle) return FALSE; COLORREF color1=XEle_GetTextColor(hRichEdit2); COLORREF color2=XCHColor_GetColor(hColor); if (color1!=color2) { XEle_SetTextColor(hRichEdit2,color2); XEle_RedrawEle(hRichEdit2); } return TRUE; }
BOOL CALLBACK MenuBar_OnMouseMove(HELE hEle,UINT flags,POINT *pPt) { menuBar_ *pMenuBar=MENUBAR(hEle); if(pMenuBar->bDown) { POINT pt={pPt->x,pPt->y}; int count=Array_GetCount(((ele_*)hEle)->hArrayEle); for(int i=0; i<count; i++) { ele_ *pChild=Array_GetAtEle(((ele_*)hEle)->hArrayEle,i); if(XC_MENUBAR_BUTTON==XC_GetObjectType(pChild)) { if( PtInRect(&pChild->rect,pt) ) { int menuItemCount=XMenu_GetItemCount(((menuBarButon_*)pChild)->hMenu); if(menuItemCount>0) { if(pMenuBar->pBtnTop!=((menuBarButon_*)pChild)) { if(pMenuBar->pBtnTop) //关闭先前的菜单 { MenuBarBtn_CloseMenu((HELE)pMenuBar->pBtnTop); ((button_*)pMenuBar->pBtnTop)->state=STATE_LEAVE; //修改按钮状态 XEle_RedrawEle((HELE)pMenuBar->pBtnTop); } pMenuBar->pBtnTop=(menuBarButon_*)pChild; ((button_*)pChild)->state=STATE_DOWN; XEle_RedrawEle((HELE)pChild); MenuBarBtn_PopupMenu((HELE)pChild); } } break; } } } } return FALSE; }
BOOL CALLBACK MyEventBtnClick8(HELE hEle,HELE hEventEle) //按钮点击事件 { int BeginRow=0; int BeginColumn=0; int EndRow=0; int EndColumn=0; if(XRichEdit_GetSelectPos(hRichEdit,&BeginRow,&BeginColumn,&EndRow,&EndColumn)) { XRichEdit_SetItemFontEx(hRichEdit,BeginRow,BeginColumn,EndRow,EndColumn,&Font3); XEle_RedrawEle(hRichEdit); } return TRUE; }
VOID CALLBACK Gif_TimerProc(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime) { gif_ *pObject=(gif_*)idEvent; ImageEx *pImageEx=pObject->pGif; //pImageEx->DrawFrameGIF(); KillTimer(hwnd,idEvent); //DrawFrameGIF(); XEle_RedrawEle((HELE)pObject); }
int CALLBACK OnEventProc(HELE hEventEle, UINT nEvent, WPARAM wParam, LPARAM lParam, BOOL *pbHandled) { switch(nEvent) { case XE_USER_SETTEXT: { XShapeText_SetText(g_ShapeText,(wchar_t*)wParam); XEle_RedrawEle(hEventEle); } break; } return 0; }
void WINAPI XBtn_SetCheck(HELE hEle,BOOL bCheck) { IsButtonDebug(hEle,__FUNCTION__); if(BUTTON(hEle)->bCheck==bCheck) return ; BUTTON(hEle)->bCheck=bCheck; if(XC_RADIO==((ele_*)hEle)->eleType) { if(RADIO(hEle)->hBindEle) { if (BUTTON(hEle)->bCheck) { XEle_ShowEle(RADIO(hEle)->hBindEle,TRUE); XEle_RedrawEle(RADIO(hEle)->hBindEle); }else { XEle_RedrawEle(RADIO(hEle)->hBindEle); XEle_ShowEle(RADIO(hEle)->hBindEle,FALSE); } } } }
void OnFontChangT() //字体改变 { wchar_t name[MAX_PATH]={0}; XComboBox_GetText(hCombox_fontName,name,MAX_PATH);; int size=XEdit_GetInt(hFontSize); HFONT hFontT=XC_CreateFont(name,size,bBold,bItalic,bUnderline); XEle_SetFont(hRichEdit2,hFontT); if (hFont) //释放先前字体 DeleteObject(hFont); hFont=hFontT; XEle_RedrawEle(hRichEdit2); }
BOOL CALLBACK OnEventEditChange(HELE hEle,HELE hEventEle) { COLORREF color=XCHColor_GetColor(hColor); int BeginRow=0; int BeginColumn=0; int EndRow=0; int EndColumn=0; if(XRichEdit_GetSelectPos(hRichEdit,&BeginRow,&BeginColumn,&EndRow,&EndColumn)) { XRichEdit_SetItemColorEx(hRichEdit,BeginRow,BeginColumn,EndRow,EndColumn,color); XEle_RedrawEle(hRichEdit); } return TRUE; }
BOOL CALLBACK Btn_OnEventKillFocus(HELE hEle,HELE hEventEle) //失去焦点 { if(hEle==hEventEle) { if(((ele_*)hEle)->bEnable) { if(STATE_STAY==BUTTON(hEle)->state) { BUTTON(hEle)->state=STATE_LEAVE; } } XEle_RedrawEle(hEle); } return FALSE; }
BOOL CALLBACK Btn_OnLButtonDown(HELE hEle,UINT flags,POINT *pPt) { if(((ele_*)hEle)->bEnable) { if(BUTTON(hEle)->bCursorHand) { SetCursor(LoadCursor(NULL,IDC_HAND)); } if(FALSE==XEle_IsHitChildEle(hEle,pPt)) { BUTTON(hEle)->state=STATE_DOWN; BUTTON(hEle)->bDown=TRUE; XEle_RedrawEle(hEle); } } return FALSE; }
void OnFontChangT2() //选择内容 字体改变 { wchar_t name[MAX_PATH]={0}; XComboBox_GetText(hCombox_fontName2,name,MAX_PATH);; int size=XEdit_GetInt(hFontSize2); int BeginRow=0; int BeginColumn=0; int EndRow=0; int EndColumn=0; if(XRichEdit_GetSelectPos(hRichEdit2,&BeginRow,&BeginColumn,&EndRow,&EndColumn)) { LOGFONTW font; XC_InitFont(&font,name,size,bBold2,bItalic2,bUnderline2); XRichEdit_SetItemFontEx(hRichEdit2,BeginRow,BeginColumn,EndRow,EndColumn,&font); XEle_RedrawEle(hRichEdit2); } }
BOOL CALLBACK Btn_OnLButtonUp(HELE hEle,UINT flags,POINT *pPt) { if(((ele_*)hEle)->bEnable) { if(BUTTON(hEle)->bCursorHand) { SetCursor(LoadCursor(NULL,IDC_HAND)); } if(BUTTON(hEle)->bDown) { BUTTON(hEle)->state=STATE_STAY; XEle_RedrawEle(hEle); BUTTON(hEle)->bDown=FALSE; Ele_SendEvent(hEle,XE_BNCLICK,0,0); } } return FALSE; }
BOOL CALLBACK PGrid_OnMouseMove(HELE hEle,UINT flags,POINT *pPt) { propertyGrid_ *pObj=(propertyGrid_*)hEle; if(pObj->bDown) { int width=((ele_*)pObj)->rect.right-((ele_*)pObj)->rect.left-50; if(pPt->x>50 && pPt->x<width) pObj->spacePoint=pPt->x+1; XPGrid_SetSpacePoint(hEle,pObj->spacePoint); SetCursor(LoadCursor(NULL,IDC_SIZEWE)); XEle_RedrawEle(hEle); }else { if(pPt->x<pObj->spacePoint && pPt->x>(pObj->spacePoint-5)) { SetCursor(LoadCursor(NULL,IDC_SIZEWE)); } } return FALSE; }
//选择内容颜色改变 BOOL CALLBACK OnEventEditChange_select_color(HELE hEle,HELE hEventEle) { if(hEle != hEventEle) return FALSE; COLORREF color1=XEle_GetTextColor(hRichEdit2); COLORREF color2=XCHColor_GetColor(hColor2); if (color1!=color2) { int BeginRow=0; int BeginColumn=0; int EndRow=0; int EndColumn=0; if(XRichEdit_GetSelectPos(hRichEdit2,&BeginRow,&BeginColumn,&EndRow,&EndColumn)) { XRichEdit_SetItemColorEx(hRichEdit2,BeginRow,BeginColumn,EndRow,EndColumn,color2); XEle_RedrawEle(hRichEdit2); } } return TRUE; }
/// @brief ÉèÖû¬¿éλÖÃ. /// @param hEle ÔªËؾä±ú /// @param pos »¬¿éλÖÃ. void WINAPI XSliderBar_SetPos(HELE hEle,int pos) //ÉèÖû¬¿éλÖà { IsSliderDebug(hEle,__FUNCTION__); slider_ *pObj=SLIDER(hEle); RECT rect; XEle_GetClientRect(hEle,&rect); if(pObj->bHorizon) { int cx=rect.right-rect.left; int x=(int)(pos*pObj->minPos); RECT rc; rc.left=x; rc.top=0; rc.right=rc.left+pObj->btnWidth; rc.bottom=rect.bottom-rect.top; if(rc.right>cx) { rc.right=cx; rc.left=rc.right-pObj->btnWidth; } XEle_SetRect(pObj->hButton,&rc); }else { int cy=rect.bottom-rect.top; int y=(int)(pos*pObj->minPos); RECT rc=rect; rc.bottom=rect.bottom-y; rc.top=rc.bottom-pObj->btnWidth; if(rc.top<0) { rc.bottom=pObj->btnWidth; rc.top=0; } XEle_SetRect(pObj->hButton,&rc); } SLIDER(hEle)->pos=pos; XEle_RedrawEle(hEle); }
BOOL CALLBACK Btn_OnEventMouseStay(HELE hEle,HELE hEventEle) { if(hEle==hEventEle) { if(((ele_*)hEle)->bEnable) { BUTTON(hEle)->state=STATE_STAY; //XTRACE("停留 \n"); //TODO:开始动画 if(((button_*)hEle)->bAnimation) { if(FALSE==BUTTON(hEle)->pAnimation->bLoopPlay) { //XTRACE("开始 顺时针动画 --------\n"); Btn_StartAnimation(hEle); } }else XEle_RedrawEle(hEle); } } return FALSE; }
BOOL CALLBACK MenuBarBtn_OnLButtonDown(HELE hEle,UINT flags,POINT *pPt) { ele_ *pPar=((ele_*)hEle)->pParentEle; if(XC_MENUBAR==pPar->eleType) { menuBar_ *pMenuBar=(menuBar_*)pPar; if(FALSE==pMenuBar->bDown) { int menuItemCount=XMenu_GetItemCount(((menuBarButon_*)hEle)->hMenu); if(menuItemCount>0) { ((button_*)hEle)->state=STATE_DOWN; XEle_RedrawEle(hEle); pMenuBar->pBtnTop=MENUBARBUTTON(hEle); pMenuBar->bDown=TRUE; XTRACE("弹出菜单 \n"); MenuBarBtn_PopupMenu(hEle); return TRUE; } } } return FALSE; }
BOOL CALLBACK PGrid_OnLButtonDown(HELE hEle,UINT flags,POINT *pPt) { propertyGrid_ *pObj=(propertyGrid_*)hEle; if(pPt->x<pObj->spacePoint && pPt->x>(pObj->spacePoint-5)) { pObj->bDown=TRUE; XEle_SetCapture(hEle); SetCursor(LoadCursor(NULL,IDC_SIZEWE)); return FALSE; } RECT rcView; XSView_GetViewRect(hEle,&rcView); if(FALSE==PtInRect(&rcView,*pPt)) return FALSE; POINT pt=*pPt; pt.y-=XSView_GetVViewPos(hEle); int left=XSView_GetSpacingLeft(hEle)-XSView_GetHViewPos(hEle); PGridNode_ *pNode=pObj->pItemList; while(pNode) { if(1==pNode->type) //组 { PGridGroup_ *pGroup=(PGridGroup_*)pNode->pItem; RECT rcBtn={left+pObj->indentBtn,pGroup->posy+pObj->itemHeight/2-5, left+pObj->indentBtn+9,pGroup->posy+(pObj->itemHeight/2)+4}; if(PtInRect(&rcBtn,pt)) { if(pGroup->bExpand) { pGroup->bExpand=FALSE; }else { pGroup->bExpand=TRUE; } if(-1!=pObj->selId) { int oldSel=pObj->selId; PGrid_HideEle(hEle); // PGrid_CheckValueChange(hEle,PGrid_GetItem(hEle,oldSel)); pObj->selId=-1; Ele_SendEvent(hEle,XE_PGRID_SELCHANGE,oldSel,pObj->selId); } PGrid_Adjust(hEle); XEle_RedrawEle(hEle); return FALSE; }else { if(pGroup->bExpand) { //子项 PGridItem_ *pItem=pGroup->pItemList; while(pItem) { if(PGrid_LButtonDownItem(hEle,pItem,&pt)) return FALSE; pItem=pItem->pNext; } } } }else //项 { if(PGrid_LButtonDownItem(hEle,(PGridItem_*)pNode->pItem,&pt)) return FALSE; } pNode=pNode->pNext; } //点击在空白处 if(-1!=pObj->selId) { int oldSel=pObj->selId; PGrid_HideEle(hEle); // PGrid_CheckValueChange(hEle,PGrid_GetItem(hEle,oldSel)); pObj->selId=-1; Ele_SendEvent(hEle,XE_PGRID_SELCHANGE,oldSel,pObj->selId); } XEle_RedrawEle(hEle); return FALSE; }
BOOL CALLBACK SliderBar_OnLButtonDown(HELE hEle,UINT flags,POINT *pPt) { slider_ *pObj=SLIDER(hEle); if(!pObj->bDown) { pObj->bDown=TRUE; RECT rect; XEle_GetClientRect(hEle,&rect); int cx=rect.right-rect.left; int cy=rect.bottom-rect.top; int btnWidth= ((ele_*)(pObj->hButton))->rect.right-((ele_*)(pObj->hButton))->rect.left; int btnHeight= ((ele_*)(pObj->hButton))->rect.bottom-((ele_*)(pObj->hButton))->rect.top; if(pObj->bHorizon) { int x=pPt->x-(btnWidth/2); if(x<0) x=0; else if(x>(cx-btnWidth)) x=cx-btnWidth; int pos=(int)( x/pObj->minPos); if(pos != pObj->pos) { pObj->pos=pos; RECT rc; rc.left=(long)(pos*pObj->minPos); rc.top=cy/2-btnHeight/2; rc.right=rc.left+btnWidth; rc.bottom=rc.top+btnHeight; XEle_SetRect(pObj->hButton,&rc); XEle_SetCapture(hEle); //ÉèÖÃÔªËØÊó±ê²¶»ñ BUTTON(pObj->hButton)->state=STATE_DOWN; Ele_SendEvent(hEle,XE_SLIDER_CHANGE,(WPARAM)pObj->pos,0); XEle_RedrawEle(hEle); } }else { int height=rect.bottom-pPt->y; height=height-(btnHeight/2); if(height<0) height=0; else if(height>(cy-btnHeight)) height=cy-btnHeight; int pos=(int)( height/pObj->minPos); if(pos != pObj->pos) { pObj->pos=pos; RECT rc=rect; rc.left=cx/2-btnWidth/2; rc.right=rc.left+btnWidth; rc.bottom=rc.bottom-height; rc.top=rc.bottom-pObj->btnWidth; XEle_SetRect(pObj->hButton,&rc); XEle_SetCapture(hEle); //ÉèÖÃÔªËØÊó±ê²¶»ñ Ele_SendEvent(hEle,XE_SLIDER_CHANGE,(WPARAM)pObj->pos,0); XEle_RedrawEle(hEle); } } } return FALSE; }
void SetSelect(int nIndex) { HELE hBtn = GetLabelBtn(nIndex); XBtn_SetCheck(hBtn,TRUE); XEle_RedrawEle(m_hEle); }
void SetLabelDirection(tabbar_direction_ nDirection) { m_Direction = nDirection; if (nDirection == tabbar_direction_left || nDirection == tabbar_direction_right) { XSView_ShowSBarV(m_hSview,TRUE); XSView_ShowSBarH(m_hSview,FALSE); XSView_ScrollPosV(m_hSview,0); XSView_ScrollPosH(m_hSview,0); m_bHorizon = FALSE; }else { XSView_ShowSBarV(m_hSview,FALSE); XSView_ShowSBarH(m_hSview,TRUE); XSView_ScrollPosH(m_hSview,0); XSView_ScrollPosV(m_hSview,0); m_bHorizon = TRUE; } int labelSize = GetLableSize(); if (m_bHorizon) { ReSizeView(labelSize); }else { ReSizeView(labelSize); } RECT rtView; RECT rtTabBar; XEle_GetClientRect(m_hEle,&rtTabBar); switch (m_Direction) { case tabbar_direction_left: { rtView.left = 0; rtView.top = 0; rtView.right = m_ViewWidth; rtView.bottom = rtTabBar.bottom; } break; case tabbar_direction_top: { rtView.left = 0; rtView.top = 0; rtView.right = rtTabBar.right; rtView.bottom = m_ViewHeight; } break; case tabbar_direction_right: { rtView.left = rtTabBar.right - m_ViewWidth; rtView.top = 0; rtView.right = rtTabBar.right; rtView.bottom = rtTabBar.bottom; } break; case tabbar_direction_bottom: { rtView.top = rtTabBar.bottom - m_ViewHeight; rtView.left = 0; rtView.right = rtTabBar.right; rtView.bottom = rtTabBar.bottom; } break; } XEle_SetRect(m_hSview,&rtView); ResetBtnPos(); ResetPagePos(); XEle_RedrawEle(m_hEle); }
int OnBtnClick(BOOL *pbHandled) { XAdapterTree_DeleteItem(hAdapter,2); XEle_RedrawEle(m_hTree); return 0; }