/**************************************************************************\ * * Copyright (c) 炫彩界面库. All Rights Reserved. * * 炫彩界面库 - 官方网站 : http://www.xcgui.com * \**************************************************************************/ //v1.5.3 #include //当DLL文件使用该头文件时,需取消注释 #include #ifndef XCGUI_HEADER_FILE_ #define XCGUI_HEADER_FILE_ // 用户自定义消息范围 WM_USER - 0x7000 // 炫彩内部自定义消息范围 0x7001 - 0x7FFF #define XC_API //接口类型 /// @defgroup groupObjectType 接口句柄类型 /// @ingroup macroDefine /// @{ //窗口: #define XC_WINDOW 1 ///<窗口 #define XC_MODALWINDOW 2 ///<模态窗口 #define XC_FRAMEWND 3 ///<框架窗口 #define XC_FLOATWND 4 ///<浮动窗口 //元素 : #define XC_ELE 20 ///<元素 #define XC_BUTTON 21 ///<按钮 #define XC_RADIO 22 ///<单选按钮 #define XC_CHECK 23 ///<复选按钮元素 #define XC_EDIT 24 ///<编辑框元素 #define XC_RICHEDIT 25 ///<富文本编辑框 #define XC_COMBOBOX 26 ///<下拉组合框元素 #define XC_SCROLLBAR 27 ///<滚动条元素 #define XC_SCROLLVIEW 28 ///<滚动视图元素 #define XC_LIST 29 ///<列表元素 #define XC_LISTBOX 30 ///<列表框元素 #define XC_TREE 31 ///<树元素 #define XC_MENUBAR 32 ///<菜单条 #define XC_PROPERTYPAGE 33 ///<属性页 #define XC_SLIDERBAR 34 ///<滑动条 #define XC_PROGRESSBAR 35 ///<进度条 #define XC_TOOLBAR 36 ///<工具条 #define XC_STATIC 37 ///<静态文本元素 #define XC_GROUPBOX 38 ///<组框 #define XC_PICTURE 39 ///<图片元素 #define XC_MONTHCAL 40 ///<月历元素 #define XC_DATETIME 41 ///<时间元素 #define XC_PROPERTYGRID 42 ///<属性网格 #define XC_CHOOSECOLOR 43 ///<颜色选择元素 #define XC_OUTLOOK 44 ///<测试内容 #define XC_TEXTLINK 45 ///<链接文本 #define XC_TABBAR 46 ///

Windows 标准消息

- @ref WM_PAINT 窗口绘制消息 - @ref WM_CLOSE 窗口关闭消息. - @ref WM_DESTROY 窗口销毁消息. - @ref WM_NCDESTROY 窗口非客户区销毁消息. - @ref WM_MOUSEMOVE 窗口鼠标移动消息. - @ref WM_LBUTTONDOWN 窗口鼠标左键按下消息 - @ref WM_LBUTTONUP 窗口鼠标左键弹起消息. - @ref WM_RBUTTONDOWN 窗口鼠标右键按下消息. - @ref WM_RBUTTONUP 窗口鼠标右键弹起消息. - @ref WM_MOUSEWHEEL 窗口鼠标滚轮滚动消息. - @ref WM_EXITSIZEMOVE 窗口退出移动或调整大小模式循环改,详情参加MSDN. - @ref WM_MOUSELEAVE 窗口鼠标离开消息. - @ref WM_SIZE 窗口大小改变消息. - @ref WM_TIMER 窗口定时器消息. - @ref WM_SETFOCUS 窗口获得焦点. - @ref WM_KILLFOCUS 窗口失去焦点. - @ref WM_KEYDOWN 窗口键盘按键消息. - @ref WM_CAPTURECHANGED 窗口鼠标捕获改变消息. - @ref other 其他Windows系统消息,包含你自定义的Windows消息.
@anchor WM_PAINT WM_PAINT 窗口绘制消息 @code BOOL CALLBACK WndDrawWindow(HWINDOW hWindow,HDRAW hDraw); @endcode @param hWindow 窗口句柄. @param hDraw 图形绘制句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_CLOSE WM_CLOSE 窗口关闭消息. @code BOOL CALLBACK WndClose(HWINDOW hWindow); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_DESTROY WM_DESTROY 窗口销毁消息. @code BOOL CALLBACK WndDestroy(HWINDOW hWindow); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_NCDESTROY WM_NCDESTROY 窗口非客户区销毁消息. @code BOOL CALLBACK WndNCDestroy(HWINDOW hWindow); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_MOUSEMOVE WM_MOUSEMOVE 窗口鼠标移动消息. @code BOOL CALLBACK WndMouseMove(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode @param hWindow 窗口句柄. @param flags 请参见MSDN WM_MOUSEMOVE wParam参数. @param pPt 鼠标坐标点. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_LBUTTONDOWN WM_LBUTTONDOWN 窗口鼠标左键按下消息 @code BOOL CALLBACK WndLButtonDown(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode @param hWindow 窗口句柄. @param flags 请参见MSDN WM_LBUTTONDOWN. @param pPt 鼠标坐标点. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_LBUTTONUP WM_LBUTTONUP 窗口鼠标左键弹起消息. @code BOOL CALLBACK WndLButtonUp(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode @param hWindow 窗口句柄. @param flags 请参见MSDN WM_LBUTTONUP. @param pPt 鼠标坐标点. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_RBUTTONDOWN WM_RBUTTONDOWN 窗口鼠标右键按下消息. @code BOOL CALLBACK WndRButtonDown(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode @param hWindow 窗口句柄. @param flags 请参见MSDN WM_RBUTTONDOWN. @param pPt 鼠标坐标点. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_RBUTTONUP WM_RBUTTONUP 窗口鼠标右键弹起消息. @code BOOL CALLBACK WndRButtonUp(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode @param hWindow 窗口句柄. @param flags 请参见MSDN WM_RBUTTONUP. @param pPt 鼠标坐标点. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_MOUSEWHEEL WM_MOUSEWHEEL 窗口鼠标滚轮滚动消息. @code BOOL CALLBACK WndMouseWheel(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode @param hWindow 窗口句柄. @param flags 请参见MSDN WM_MOUSEWHEEL消息wParam参数. @param pPt 鼠标坐标点. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_EXITSIZEMOVE WM_EXITSIZEMOVE 窗口退出移动或调整大小模式循环改,详情参加MSDN. @code BOOL CALLBACK WndExitSizeMove(HWINDOW hWindow); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_MOUSELEAVE WM_MOUSELEAVE 窗口鼠标离开消息. @code BOOL CALLBACK WndMouseLeave(HWINDOW hWindow); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_SIZE WM_SIZE 窗口大小改变消息. @code BOOL CALLBACK WndSize(HWINDOW hWindow,UINT flags,SIZE *pSize); @endcode @param hWindow 窗口句柄. @param flags 请参见MSDN WM_SIZE消息wParam参数. @param pSize 窗口大小. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_TIMER WM_TIMER 窗口定时器消息. @code BOOL CALLBACK WndTimer(HWINDOW hWindow,UINT_PTR nIDEvent,UINT uElapse); @endcode @param hWindow 窗口句柄. @param nIDEnent 定时器标示符. @param uElapse 指定所经过的系统启动以来的毫秒数,这是由GetTickCount函数的返回值. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_SETFOCUS WM_SETFOCUS 窗口获得焦点. @code BOOL CALLBACK WndSetFocus(HWINDOW hWindow); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_KILLFOCUS WM_KILLFOCUS 窗口失去焦点. @code BOOL CALLBACK WndKillFocus(HWINDOW hWindow); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor WM_KEYDOWN WM_KEYDOWN 窗口键盘按键消息. @code BOOL CALLBACK WndKeyDown(HWINDOW hWindow,WPARAM wParam,LPARAM lParam); @endcode @param hWindow 窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE. @note wParam,lParam:请参见MSDN WM_KEYDOWN.
@anchor WM_CAPTURECHANGED WM_CAPTURECHANGED 窗口鼠标捕获改变消息. @code BOOL CALLBACK WndCaptureChanged(HWINDOW hWindow,HWND hWnd); @endcode @param hWindow 窗口句柄. @param hWnd 获得鼠标捕获的窗口句柄. @return 默认返回FALSE,如果终止消息传递返回TRUE.
@anchor other 其他Windows系统消息,包含你自定义的Windows消息. @code BOOL CALLBACK WndOther(HWINDOW hWindow,WPARAM wParam,LPARAM lParam); @endcode @param hWindow 窗口句柄. @param wParam 消息参数. @param lParam 消息参数. @return 默认返回FALSE,如果终止消息传递返回TRUE. @note 参数信息请参见MSDN. @{ */ ///@brief 鼠标单击窗口 ///@code BOOL CALLBACK WndMouseClick(HWINDOW hWindow,POINT *pPt); @endcode #define XWM_MOUSECLICK 0x7000+1 //wParam:x坐标, lParam:y坐标 ///@brief 鼠标双击窗口 ///@code BOOL CALLBACK WndMouseDBClick(HWINDOW hWindow,POINT *pPt) @endcode ///@param hWindow 窗口句柄 ///@param pPt 鼠标位置 #define XWM_MOUSEDBCLICK 0x7000+2 //wParam:x坐标, lParam:y坐标 ///@brief 重绘元素 ///@code BOOL CALLBACK WndRedrawEle(HWINDOW hWindow,HELE hEle,RECT *pRect); @endcode #define XWM_REDRAW_ELE 0x7000+3 //重绘元素 wParam:元素句柄, lParam:* ///@brief 菜单选择 ///@code BOOL CALLBACK WndMenuSelect(HWINDOW hWindow,int id); @endcode #define XWM_MENUSELECT 0x7000+4 //菜单选择 wParam:菜单项ID, lParam:0 ///@brief 菜单退出 ///@code BOOL CALLBACK WndMenuExit(HWINDOW hWindow); @endcode #define XWM_MENUEXIT 0x7000+5 //菜单退出 wParam:0, lParam:0 ///@brief 窗口字体改变 ///@code BOOL CALLBACK WndSetFont(HWINDOW hWindow); @endcode #define XWM_SETFONT 0x7000+6 //窗口字体改变 //炫彩定时器 ///@code BOOL CALLBACK WndTimer2(HWINDOW hWindow,int timerID,int userData); @endcode #define XWM_TIMER 0x7000+8 //wParam:, lParam: #define XWM_DRAW_T 0x7000+9 //窗口绘制,内部使用, wParam:0, lParam:0 ///@} //窗口非客户区消息-逻辑上的非客户区 /// @addtogroup wndNCMSG /// 窗口非客户区消息-逻辑上的非客户区 /// @{ /// @brief 窗口非客户区绘制消息 /// @code BOOL CALLBACK WndNCDrawWindow(HWINDOW hWindow,HDRAW hDraw); @endcode /// @param hWindow 窗口句柄 /// @param hDraw 图形绘制句柄. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCPAINT 0 //wParam:HDC lParam:0 /// @brief 窗口绘制完成消息,在显示之前 /// @code BOOL CALLBACK WndNCEndDrawWindow(HWINDOW hWindow,HDRAW hDraw); @endcode /// @param hWindow 窗口句柄 /// @param hDraw 图形绘制句柄. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCENDPAINT 1 //wParam:HDC lParam:0 窗口绘制完成后调用,便于特效合成 /// @brief 窗口非客户区鼠标移动消息. /// @code BOOL CALLBACK WndNCMouseMove(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode /// @param hWindow 窗口句柄 /// @param flags 请参见msdn WM_MOUSEMOVE. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCMOUSEMOVE 2 //wParam:对应系统wParam lParam:坐标点 /// @brief 窗口非客户区鼠标左键按下消息. /// @code BOOL CALLBACK WndNCLButtonDown(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode /// @param hWindow 窗口句柄 /// @param flags 请参见msdn WM_LBUTTONDOWN. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCLBUTTONDOWN 3 //wParam:对应系统wParam lParam:坐标点 /// @brief 窗口非客户区鼠标左键弹起消息. /// @code BOOL CALLBACK WndNCLButtonUp(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode /// @param hWindow 窗口句柄 /// @param flags 请参见msdn MSDN WM_LBUTTONUP. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCLBUTTONUP 4 //wParam:对应系统wParam lParam:坐标点 /// @brief 窗口非客户区鼠标右键按下消息. /// @code BOOL CALLBACK WndNCRButtonDown(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode /// @param hWindow 窗口句柄 /// @param flags 请参见msdn MSDN WM_RBUTTONDOWN. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCRBUTTONDOWN 5 //wParam:对应系统wParam lParam:坐标点 /// @brief 窗口非客户区鼠标右键弹起消息. /// @code BOOL CALLBACK WndNCRButtonUp(HWINDOW hWindow,UINT flags,POINT *pPt); @endcode /// @param hWindow 窗口句柄 /// @param flags 请参见msdn MSDN WM_RBUTTONUP. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCRBUTTONUP 6 //wParam:对应系统wParam lParam:坐标点 /// @brief 窗口非客户区鼠标左键点击消息. /// @code BOOL CALLBACK WndNCMouseClick(HWINDOW hWindow,POINT *pPt); @endcode /// @param hWindow 窗口句柄 /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCMOUSECLICK 7 //wParam:坐标点 lParam:0 鼠标单击 非客户区 /// @brief 窗口非客户区鼠标左键双击消息. /// @code BOOL CALLBACK WndNCMouseDBClick(HWINDOW hWindow,POINT *pPt); @endcode /// @param hWindow 窗口句柄 /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XWM_NCMOUSEDBCLICK 8 //wParam:坐标点 lParam:0 鼠标双击窗口 非客户区 ///@} //元素消息 /// @addtogroup eleMSG /// @{ /// @brief 元素绘制消息. /// @code BOOL CALLBACK EleDraw(HELE hEle,HDRAW hDraw); @endcode /// @param hEle 元素句柄. /// @param hDraw 图形绘制句柄. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_PAINT 100 //wParam:hDraw,lParam:0 /// @brief 元素鼠标左键点击消息. /// @code BOOL CALLBACK EleMouseClick(HELE hEle,POINT *pPt); @endcode /// @param hEle 元素句柄. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_MOUSECLICK 101 //鼠标单击 wParam:POINT坐标,lParam:0 /// @brief 元素鼠标左键双击消息. /// @code BOOL CALLBACK EleMouseDBClick(HELE hEle,POINT *pPt); @endcode /// @param hEle 元素句柄. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_MOUSEDBCLICK 102 //鼠标双击 wParam:POINT坐标,lParam:0 /// @brief 元素鼠标移动消息. /// @code BOOL CALLBACK EleMouseMove(HELE hEle,UINT flags,POINT *pPt); @endcode /// @param hEle 元素句柄. /// @param flags 请参见MSDN WM_MOUSEMOVE. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_MOUSEMOVE 103 //鼠标移动 wParam:标识, lParam:POINT坐标 /// @brief 元素鼠标左键按下消息. /// @code BOOL CALLBACK EleLButtonDown(HELE hEle,UINT flags,POINT *pPt); @endcode /// @param hEle 元素句柄. /// @param flags 请参见MSDN WM_LBUTTONDOWN. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_LBUTTONDOWN 104 //wParam:标识, lParam:POINT坐标 /// @brief 元素鼠标左键弹起消息. /// @code BOOL CALLBACK EleLButtonUp(HELE hEle,UINT flags,POINT *pPt); @endcode /// @param hEle 元素句柄. /// @param flags 请参见MSDN WM_LBUTTONUP. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_LBUTTONUP 105 //wParam:标识, lParam:POINT坐标 /// @brief 元素鼠标右键按下消息. /// @code BOOL CALLBACK EleRButtonDown(HELE hEle,UINT flags,POINT *pPt); @endcode /// @param hEle 元素句柄. /// @param flags 请参见MSDN WM_RBUTTONDOWN. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_RBUTTONDOWN 106 //wParam:标识, lParam:POINT坐标 /// @brief 元素鼠标右键弹起消息. /// @code BOOL CALLBACK EleRButtonUp(HELE hEle,UINT flags,POINT *pPt); @endcode /// @param hEle 元素句柄. /// @param flags 请参见MSDN WM_RBUTTONUP. /// @param pPt 鼠标坐标点. /// @return 默认返回FALSE,如果终止消息传递返回TRUE. #define XM_RBUTTONUP 107 //wParam:标识, lParam:POINT坐标 //炫彩定时器 // BOOL (CALLBACK *pFunEleTimerEx)(HELE hEle,UINT timerID,int userData); //定时器消息 XWM_TIMER #define XM_TIMER 108 ///@} //元素事件 /// @addtogroup eleEvents /// @{ /// @brief 元素销毁事件. /// @code void CALLBACK EventDestroy(HELE hEle); @endcode /// @param hEle 元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_DESTROY -1 //元素销毁 特殊事件 /// @brief 按钮元素点击事件. /// @code BOOL CALLBACK EventBtnClick(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_BNCLICK 0 //按钮点击事件,没有时间间隔 wParam:0, lParam:0 /// @brief 元素鼠标停留事件. /// @code BOOL CALLBACK EventMouseStay(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_MOUSESTAY 1 //鼠标停留 wParam:0,lParam:0 /// @brief 元素鼠标离开事件. /// @code BOOL CALLBACK EventMouseLeave(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_MOUSELEAVE 2 //鼠标离开 wParam:0,lParam:0 /// @brief 元素鼠标滚轮滚动事件. /// @code BOOL CALLBACK EventMouseWheel(HELE hEle,HELE hEventEle,UINT flags,POINT *pPt); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_MOUSEWHEEL 3 //鼠标滚轮 wParam:标识,lParam:POINT坐标 /// @brief 元素获得焦点事件. /// @code BOOL CALLBACK EventSetFocus(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_SETFOCUS 4 //获得焦点 wParam:0,lParam:0 /// @brief 元素失去焦点事件. /// @code BOOL CALLBACK EventKillFocus(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_KILLFOCUS 5 //失去焦点 wParam:0,lParam:0 /// @brief 元素按键事件. /// @code BOOL CALLBACK EventKeyDown(HELE hEle,HELE hEventEle,WPARAM wParam,LPARAM lParam); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. /// @note wParam,lParam:请参见MSDN WM_KEYDOWN. #define XE_KEYDOWN 6 //wParam和lParam参数与标准消息相同 /// @brief 通过TranslateMessage函数翻译的字符事件. /// @code BOOL CALLBACK EventChar(HELE hEle,HELE hEventEle,WPARAM wParam,LPARAM lParam); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. /// @note wParam,lParam:请参见MSDN WM_KEYDOWN. #define XE_CHAR 7 //wParam和lParam参见MSDN /// @brief 水平滚动条元素滚动事件,滚动条触发. /// @code BOOL CALLBACK EventHScroll(HELE hEle,HELE hEventEle,int pos); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param pos 当前滚动点. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_HSCROLL 8 //水平滚动条滚动事件 wParam:滚动点,lParam:0 (滚动条触发) /// @brief 垂直滚动条元素滚动事件,滚动条触发. /// @code BOOL CALLBACK EventVScroll(HELE hEle,HELE hEventEle,int pos); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param pos 当前滚动点. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_VSCROLL 9 //垂直滚动条滚动事件 wParam:滚动点,lParam:0 (滚动条触发) /// @brief 滚动视图元素水平滚动事件,滚动视图触发. /// @code BOOL CALLBACK EventHScrollView(HELE hEle,HELE hEventEle,int pos); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param pos 当前滚动点. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_HSCROLLVIEW 10 //滚动视图 滚动事件 wParam:滚动点,lParam:0 (滚动视图触发,表明滚动视图已滚动完成) /// @brief 滚动视图元素垂直滚动事件,滚动视图触发. /// @code BOOL CALLBACK EventVScrollView(HELE hEle,HELE hEventEle,int pos); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param pos 当前滚动点. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_VSCROLLVIEW 11 //滚动视图 滚动事件 wParam:滚动点,lParam:0 (滚动视图触发,表明滚动视图已滚动完成) /// @brief 元素设置鼠标捕获事件. /// @code BOOL CALLBACK EventSetCapture(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_SETCAPTURE 12 //设置鼠标捕获 wParam:0,lParam:0 /// @brief 元素失去鼠标捕获事件. /// @code BOOL CALLBACK EventKillCapture(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_KILLCAPTURE 13 //失去鼠标捕获 wParam:0,lParam:0 /// @brief 弹出菜单项选择事件. /// @code BOOL CALLBACK EventMenuSelect(HELE hEle,HELE hEventEle,int id); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param id 菜单项id. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_MENUSELECT 14 //菜单项选择 wParam:菜单ID,lParam:0 /// @brief 弹出菜单退出事件. /// @code BOOL CALLBACK EventMenuExit(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_MENUEXIT 15 //菜单退出 /// @brief 元素大小改变事件. /// @code BOOL CALLBACK EventSize(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_SIZE 16 //元素大小位置改变,wParam:0,lParam:0 /// @brief 元素字体改变事件. /// @code BOOL CALLBACK EventSetFont(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_SETFONT 17 //元素字体改变事件,wParam:0,lParam:0 /// @brief 元素显示或隐藏事件. /// @code BOOL CALLBACK EventShow(HELE hEle,HELE hEventEle,BOOL bShow); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param bShow 如果元素显示TRUE,隐藏FALSE. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_SHOW 18 //wParam:TRUE或FALSE, lParam:0 /// @brief 列表元素,项选择事件. /// @code BOOL CALLBACK EventListSelect(HELE hEle,HELE hEventEle,int index); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 选择项索引,如果是-1没有选择项. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LIST_SELECT 50 //列表项选择, wParam:项index,如果是-1没有选择项, lParam:0 /// @brief 列表元素,列表头项点击事件. /// @code BOOL CALLBACK EventListHeaderClick(HELE hEle,HELE hEventEle,int id); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 项索引. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LIST_HEADER_CLICK 51 //列表头项点击,wParam:项index, lParam:0 /// @brief 列表元素,列表头项宽度改变事件. /// @code BOOL CALLBACK EventListHeaderChange(HELE hEle,HELE hEventEle,int index,int width); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 列表头项索引. /// @param width 项宽度. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LIST_HEADER_CHANGE 52 //列表头项宽度改变,wParam:项index, lParam:项宽度 /// @brief 树元素,项选择事件. /// @code BOOL CALLBACK EventTreeSelect(HELE hEle,HELE hEventEle,int id); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param id 选择项id,如果是-1没有选择项. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_TREE_SELECT 53 //树项选择, wParam:选择项id,如果是-1没有选择项, lParam:0 /// @brief 树元素,项展开或收缩事件. /// @code BOOL CALLBACK EventTreeExpand(HELE hEle,HELE hEventEle,int id,BOOL bExpand); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param id 树项id. /// @param bExpand TRUE展开,FALSE收缩. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_TREE_EXPAND 54 //树项展开或收缩, wParam:项id; lParam:展开TRUE,收缩FALSE /// @brief 组合框元素,组合框弹出下拉列表项选择事件. /// @code BOOL CALLBACK EventComboBoxSelect(HELE hEle,HELE hEventEle,int index); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 选中项索引,如果-1没有选中项 /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_COMBOBOX_SELECT 55 //下拉组合框选择事件,wParam:选择项索引,如果-1没有选择项, lParam:0 /// @brief 组合框元素,组合框下拉列表弹出事件. /// @code BOOL CALLBACK EventComboBoxPopupList(HELE hEle,HELE hEventEle,HWINDOW hWindow,HELE hListBox); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param hWindow 弹出窗口句柄. /// @param hListBox 下拉列表句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_COMBOBOX_POPUP_LIST 56 //组合框下拉列表弹出事件,wParam:弹出窗口句柄, lParam:listBox句柄 /// @brief 组合框元素,组合框弹出下拉列表退出事件. /// @code BOOL CALLBACK EventComboBoxExitList(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_COMBOBOX_EXIT_LIST 57 //组合框弹出下拉列表关闭事件,wParam:0, lParam:0 /// @brief 属性页元素,标签项选择事件. /// @code BOOL CALLBACK EventPPageSelect(HELE hEle,HELE hEventEle,int index); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 选择标签索引,如果-1没有选择标签. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_PPAGE_SELECT 58 //属性页标签选择,wParam:标签索引,如果-1没有选择标签, lParam:0 /// @brief TabBar元素,标签项选择事件. /// @code BOOL CALLBACK EventTabBarSelect(HELE hEle,HELE hEventEle,int index); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 选择标签索引,如果-1没有选择标签. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_TABBAR_SELECT 58 //TabBar标签选择,wParam:标签索引,如果-1没有选择标签, lParam:0 /// @brief 滑动条元素,滑块位置改变事件. /// @code BOOL CALLBACK EventSliderChange(HELE hEle,HELE hEventEle,int pos); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param pos 滑块当前滑动位置点. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_SLIDER_CHANGE 59 //滑动条位置改变,wParam:滑块当前滑动位置点, lParam:0 //wParam:TRUE日期发生改变; FALSE:日期未改变,与先前日期一样, //lParam:在月历的第一视图,通过鼠标点击日期号(1-31)选择,为TRUE; 否则在月选择视图,或年选择视图都是FALSE; /// @brief 月历元素,日期改变事件. /// @code BOOL CALLBACK EventMonthChange(HELE hEle,HELE hEventEle,BOOL bChange,BOOL bDownDayNum); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param bChange TRUE日期发生改变; FALSE日期未改变,与先前日期一样. /// @param bDownDayNum 在月历的第一视图,通过鼠标点击日期号(1-31)选择,为TRUE; 否则在月选择视图,或年选择视图都是FALSE; /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_MONTHCAL_CHANGE 60 //月历元素,日期改变事件, /// @brief 日期编辑框元素,日期改变事件,日期格式为:年-月-日. /// @code BOOL CALLBACK EventDateTimeChange(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_DATETIME_CHANGE 61 //日期元素,日期改变事件,wParam:0,lParam:0 /// @brief 日期编辑框元素,弹出日期选择窗口事件. /// @code BOOL CALLBACK EventDateTimePopupMonthCal(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_DATETIME_POPUP_MONTHCAL 62 //日期元素 弹出日期选择窗口事件,wParam:0,lParam:0 /// @brief 日期编辑框元素,弹出日期选择窗口退出事件. /// @code BOOL CALLBACK EventDateTimeExitMonthCal(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_DATETIME_EXIT_MONTHCAL 63 //日期元素 弹出日期选择窗口退出事件,wParam:0,lParam:0 /// @brief 列表框元素,项选择事件. /// @code BOOL CALLBACK EventListBoxSelect(HELE hEle,HELE hEventEle,int index); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 选择项的索引,如果是-1没有选择任何项. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LISTBOX_SELECT 64 //列表框元素项选择,wParam:选择项索引,如果是-1没有选择项; lParam:0 /// @brief 属性网格元素,项选择改变事件. /// @code BOOL CALLBACK EventPGridSelChange(HELE hEle,HELE hEventEle,int prevID,int id); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param prevID 先前选择项id,如果是-1没有选择项. /// @param id 当前选择项id,如果是-1没有选择项. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_PGRID_SELCHANGE 65 //属性网格 项选择改变, wParam:先前选择项id,如果是-1没有选择项; lParam:当前选择项id,如果是-1没有选择项 /// @brief 属性网格元素,项值改变事件. /// @code BOOL CALLBACK EventPGridValueChange(HELE hEle,HELE hEventEle,int id); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param id 项ID. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_PGRID_VALUECHANGE 66 //属性网格 项值改变事件, wParam:值改变的项id; lPara:0 /// @brief 列表视图元素,项选择事件. /// @code BOOL CALLBACK EventListViewSelect(HELE hEle,HELE hEventEle,int groupIndex,int itemIndex); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param id 项ID. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LISTVIEW_SELECT 67 //列表视图元素,项选择事件, wParam:组索引,如果-1没有选择组, lParam:项索引,如果-1没有选择项 /// @brief 列表视图元素,组展开收缩事件 /// @code BOOL CALLBACK EventListViewExpand(HELE hEle,HELE hEventEle,int groupIndex,BOOL bExpand); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param id 组ID. /// @param bExpand TRUE展开,FALSE收缩. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LISTVIEW_EXPAND 68 //列表视图元素,组展开收缩事件, wParam:组索引; lParam:展开TRUE,收缩FALSE /// @brief 列表视图元素,用户拖动项插入事件 /// @code BOOL CALLBACK EventListViewDragInsert(HELE hEle,HELE hEventEle,listView_dragInsert_ *pInfo); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param pInfo 信息结构体. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LISTVIEW_DRAG_INSERT 69 //wParam:listView_dragInsert_*; lParam:0 /// @brief 窗格锁定事件 /// @code BOOL CALLBACK EventPaneLock(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_PANE_LOACK 70 //wParam:0; lParam:0 /// @brief 窗格停靠到码头事件 /// @code BOOL CALLBACK EventPaneDock(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_PANE_DOCK 80 //wParam:0; lParam:0 /// @brief 窗格浮动事件 /// @code BOOL CALLBACK EventPaneFloat(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_PANE_FLOAT 81 //wParam:0; lParam:0 /// @brief 编辑框内容改变事件 /// @code BOOL CALLBACK EventEditChange(HELE hEle,HELE hEventEle); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_EDIT_CHANGE 82 //wParam:0; lParam:0 /// @brief 下拉组合框元素,选择项正在改变. /// @code BOOL CALLBACK EventComboBoxSelecting(HELE hEle,HELE hEventEle,int index,BOOL *pBOOL); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 选择项的索引,如果是-1没有选择任何项. /// @param pBOOL 是否终止改变,TRUE终止. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_COMBOBOX_SELECT_ING 83 //wParam:index; lParam:pBOOL /// @brief 列表框元素,项选择正在改变. /// @code BOOL CALLBACK EventListBoxSelecting(HELE hEle,HELE hEventEle,int index,BOOL *pBOOL); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param index 选择项的索引,如果是-1没有选择任何项. /// @param pBOOL 是否终止改变,TRUE终止. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_LISTBOX_SELECT_ING 84 //列表框元素项选择,wParam:选择项索引,如果是-1没有选择项; lParam:pBOOL /// @brief 树元素,项选择正在改变. /// @code BOOL CALLBACK EventTreeSelecting(HELE hEle,HELE hEventEle,int id,BOOL *pBOOL); @endcode /// @param hEle 当前处理事件的元素句柄. /// @param hEventEle 触发事件的元素句柄. /// @param id 选择项id,如果是-1没有选择项. /// @param pBOOL 是否终止改变,TRUE终止. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define XE_TREE_SELECT_ING 85 //树项选择, wParam:选择项id,如果是-1没有选择项, lParam:pBOOL ///@} #ifdef _DEBUG #define XTRACE xtrace #define XTRACEW xtracew #define XERROR XTRACE #define XERRORW XTRACEW #else #define XTRACE #define XTRACEW #define XERROR #define XERRORW #endif #ifndef GET_X_LPARAM #define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp)) #endif #ifndef GET_Y_LPARAM #define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp)) #endif ///////////////////IE begin/////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //IE事件: ///@defgroup IE_Event IE事件 ///@details 注册IE事件,DWebBrowserEvents2接口事件,注册API: XWeb_RegEvent(). ///@ingroup msgAndEvents ///@{ /// @brief 在导航操作之前. /// @code BOOL CALLBACK IE_BeforeNavigate2(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl,in_ int Flags,in_ wchar_t *pTargetFrameName,in_ wchar_t *pPostData,in_ wchar_t *pHeaders,in_out_ VARIANT_BOOL *bCancel); @endcode /// @param hWebBrowser 浏览器控件句柄. /// @param pDisp 请参见MSDN. /// @param pUrl 请参见MSDN. /// @param Flags 请参见MSDN. /// @param pTargetFrameName 请参见MSDN. /// @param pPostData 请参见MSDN. /// @param pHeaders 请参见MSDN. /// @param bCancel TRUE取消导航操作,或FALSE允许进行导航操作。 /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_BEFORENAVIGATE2 DISPID_BEFORENAVIGATE2 //BeforeNavigate2 /// @brief 请求操作,客户区窗口大小转换到宿主窗口大小. /// @code BOOL CALLBACK IE_ClientToHostWindow(HXCGUI hWebBrowser,in_out_ long *pCx,in_out_ long *pCy); @endcode /// @param hWebBrowser 浏览器控件句柄. /// @param pCx 接收和指定的客户端窗口的宽度. /// @param pCy 接收和指定的客户端窗口的高度. /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_CLIENTTOHOSTWINDOW DISPID_CLIENTTOHOSTWINDOW //ClientToHostWindow /// @brief 启用状态的命令更改. /// @code BOOL CALLBACK IE_CommandStateChange(HXCGUI hWebBrowser,in_ long command,in_ VARIANT_BOOL enable); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_COMMANDSTATECHANGE DISPID_COMMANDSTATECHANGE //CommandStateChange /// @brief 一个文档完全加载和初始化. /// @code BOOL CALLBACK IE_DocumentComplete(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_DOCUMENTCOMPLETE DISPID_DOCUMENTCOMPLETE //DocumentComplete /// @brief 开始导航操作. /// @code BOOL CALLBACK IE_DownloadBegin(HXCGUI hWebBrowser); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_DOWNLOADBEGIN DISPID_DOWNLOADBEGIN //DownloadBegin /// @brief 导航操作完成时,停止或失败. /// @code BOOL CALLBACK IE_DownloadComplete(HXCGUI hWebBrowser); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_DOWNLOADCOMPLETE DISPID_DOWNLOADCOMPLETE //DownloadComplete /// @brief 下载文件是即将发生. /// @code BOOL CALLBACK IE_FileDownload(HXCGUI hWebBrowser,in_ VARIANT_BOOL ActiveDocument,in_out_ VARIANT_BOOL *Cancel); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_FILEDOWNLOAD DISPID_FILEDOWNLOAD //FileDownload /// @brief 导航到一个链接,一个窗口元素或一个框架元素完成. /// @code BOOL CALLBACK IE_NavigateComplete2(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_NAVIGATECOMPLETE2 DISPID_NAVIGATECOMPLETE2 //NavigateComplete2 /// @brief 在导航过程中发生错误时触发. /// @code BOOL CALLBACK IE_NavigateError(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl,in_ wchar_t *pTargetFrameName,in_ int statusCode,in_out_ VARIANT_BOOL *bCancel); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_NAVIGATEERROR DISPID_NAVIGATEERROR //NavigateError // IE_NEWPROCESS DISPID_NEWPROCESS //NewProcess 找不到 /// @brief 创建一个新的窗口时触发. /// @code BOOL CALLBACK IE_NewWindow2(HXCGUI hWebBrowser,in_out_ IDispatch **pDisp,in_out_ VARIANT_BOOL *bCancel); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_NEWWINDOW2 DISPID_NEWWINDOW2 //NewWindow2 /// @brief 创建一个新窗口时触发. /// @code BOOL (CALLBACK *pFunIE_NewWindow3)(HXCGUI hWebBrowser,in_out_ IDispatch **pDisp,in_out_ VARIANT_BOOL *bCancel,in_ DWORD dwFlags,in_ wchar_t *pUrlContext,in_ wchar_t *pUrl); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_NEWWINDOW3 DISPID_NEWWINDOW3 //NewWindow3 /// @brief IWebBrowser2::FullScreen属性被改变时触发. /// @code BOOL CALLBACK IE_OnFullScreen(HXCGUI hWebBrowser,in_ VARIANT_BOOL bFullScreen); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_ONFULLSCREEN DISPID_ONFULLSCREEN //OnFullScreen /// @brief IWebBrowser2::MenuBar属性被改变时触发. /// @code BOOL CALLBACK IE_OnMenuBar(HXCGUI hWebBrowser,in_ VARIANT_BOOL bMenuBar); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_ONMENUBAR DISPID_ONMENUBAR //OnMenuBar /// @brief Internet Explorer的应用程序退出之前触发. /// @code BOOL CALLBACK IE_OnQuit(HXCGUI hWebBrowser); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_ONQUIT DISPID_ONQUIT //OnQuit /// @brief IWebBrowser2::StatusBar属性被改变时触发. /// @code BOOL CALLBACK IE_OnStatusBar(HXCGUI hWebBrowser,in_ VARIANT_BOOL bStatusBar); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_ONSTATUSBAR DISPID_ONSTATUSBAR //OnStatusBar /// @brief IWebBrowser2::TheaterMode属性被改变时触发. /// @code BOOL CALLBACK IE_OnTheaterMode(HXCGUI hWebBrowser,in_ VARIANT_BOOL bTheaterMode); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_ONTHEATERMODE DISPID_ONTHEATERMODE //OnTheaterMode /// @brief IWebBrowser2::ToolBar属性被改变时触发. /// @code BOOL CALLBACK IE_OnToolBar(HXCGUI hWebBrowser,in_ VARIANT_BOOL bToolBar); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_ONTOOLBAR DISPID_ONTOOLBAR //OnToolBar /// @brief IWebBrowser2::Visible属性被改变时触发. /// @code BOOL CALLBACK IE_OnVisible(HXCGUI hWebBrowser,in_ VARIANT_BOOL bVisible); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_ONVISIBLE DISPID_ONVISIBLE //OnVisible /// @brief 打印模板实例化时触发. /// @code BOOL CALLBACK IE_PrintTemplateInstantiation(HXCGUI hWebBrowser,in_ IDispatch *pDisp); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_PRINTTEMPLATEINSTANTIATION DISPID_PRINTTEMPLATEINSTANTIATION //PrintTemplateInstantiation /// @brief 打印模板被销毁时触发. /// @code BOOL CALLBACK IE_PrintTemplateTeardown(HXCGUI hWebBrowser,in_ IDispatch *pDisp); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_PRINTTEMPLATETEARDOWN DISPID_PRINTTEMPLATETEARDOWN // PrintTemplateTeardown /// @brief 当一个受影响的私有事件,或用户导航已经受影响的远程URL时发生. /// @code BOOL CALLBACK IE_PrivacyImpactedStateChange(HXCGUI hWebBrowser,in_ VARIANT_BOOL bPrivacyImpacted); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_PRIVACYIMPACTEDSTATECHANGE DISPID_PRIVACYIMPACTEDSTATECHANGE //PrivacyImpactedStateChange /// @brief 更新对象时触发的下载操作的进度. /// @code BOOL CALLBACK IE_ProgressChangee(HXCGUI hWebBrowser,in_ long Progress,in_ long ProgressMax); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_PROGRESSCHANGE DISPID_PROGRESSCHANGE //ProgressChange /// @brief IWebBrowser2::PutProperty对象的方法改变属性值时触发. /// @code BOOL CALLBACK IE_PropertyChange(HXCGUI hWebBrowser,in_ wchar_t *pProperty); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_PROPERTYCHANGE DISPID_PROPERTYCHANGE //PropertyChange // IE_REDIRECTXDOMAINBLOCKED DISPID_REDIRECTXDOMAINBLOCKED // RedirectXDomainBlocked 找不到 /// @brief 触发表明当前网页仿冒过滤分析微软的进度和状态。. /// @code BOOL CALLBACK IE_SetPhishingFilterStatus(HXCGUI hWebBrowser,in_ long phishingFilterStatus); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_SETPHISHINGFILTERSTATUS DISPID_SETPHISHINGFILTERSTATUS //SetPhishingFilterStatus /// @brief 在加密级别的变化时触发. /// @code BOOL CALLBACK IE_SetSecureLockIcon(HXCGUI hWebBrowser,in_ signed int SecureLockIcon); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_SETSECURELOCKICON DISPID_SETSECURELOCKICON //SetSecureLockIcon /// @brief 改变对象的状态栏文本时触发. /// @code BOOL CALLBACK IE_StatusTextChange(HXCGUI hWebBrowser,in_ wchar_t *pText); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_STATUSTEXTCHANGE DISPID_STATUSTEXTCHANGE //StatusTextChange // IE_THIRDPARTYURLBLOCKED DISPID_THIRDPARTYURLBLOCKED //ThirdPartyUrlBlocked 找不到 /// @brief 对象的文档的标题变为可用或改变时触发. /// @code BOOL CALLBACK IE_TitleChange(HXCGUI hWebBrowser,in_ wchar_t *pText); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_TITLECHANGE DISPID_TITLECHANGE //TitleChange //UpdatePageStatus IE没有实现 /// @brief 该对象的窗口被关闭脚本时触发. /// @code BOOL CALLBACK IE_WindowClosing(HXCGUI hWebBrowser,in_ VARIANT_BOOL IsChildWindow,in_out_ VARIANT_BOOL *bCancel); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_WINDOWCLOSING DISPID_WINDOWCLOSING //WindowClosing /// @brief 当对象改变其高度的触发. /// @code BOOL CALLBACK IE_WindowSetHeight(HXCGUI hWebBrowser,in_ long height); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_WINDOWSETHEIGHT DISPID_WINDOWSETHEIGHT //WindowSetHeight /// @brief 当对象改变其左侧位置时触发. /// @code BOOL CALLBACK IE_WindowSetLeft(HXCGUI hWebBrowser,in_ long left); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_WINDOWSETLEFT DISPID_WINDOWSETLEFT //WindowSetLeft /// @brief 发生指示宿主窗口是否应该允许调整对象. /// @code BOOL CALLBACK IE_WindowSetResizable(HXCGUI hWebBrowser,in_ VARIANT_BOOL bResizable); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_WINDOWSETRESIZABLE DISPID_WINDOWSETRESIZABLE //WindowSetResizable /// @brief 当对象改变其顶部位置的触发. /// @code BOOL CALLBACK IE_WindowSetTop(HXCGUI hWebBrowser,in_ long top); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_WINDOWSETTOP DISPID_WINDOWSETTOP //WindowSetTop /// @brief 当对象改变其宽度的触发. /// @code BOOL CALLBACK IE_WindowSetWidth(HXCGUI hWebBrowser,in_ long width); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_WINDOWSETWIDTH DISPID_WINDOWSETWIDTH //WindowSetWidth /// @brief 当窗口内容的可见性状态,如浏览器窗口或选项卡,更改时触发. /// @code BOOL CALLBACK IE_WindowStateChanged(HXCGUI hWebBrowser,in_ DWORD dwFlags,in_ DWORD dwValidFlagsMask); @endcode /// @return 默认返回FALSE,如果终止事件传递返回TRUE. #define IE_WINDOWSTATECHANGED DISPID_WINDOWSTATECHANGED //WindowStateChanged ///@} //定义IE外部函数类型 typedef BOOL (CALLBACK *pFunIE_External0)(HXCGUI hWebBrowser,HSTRING hResultVal); typedef BOOL (CALLBACK *pFunIE_External1)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1); typedef BOOL (CALLBACK *pFunIE_External2)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1,wchar_t *pParam2); typedef BOOL (CALLBACK *pFunIE_External3)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1,wchar_t *pParam2,wchar_t *pParam3); typedef BOOL (CALLBACK *pFunIE_External4)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1,wchar_t *pParam2,wchar_t *pParam3,wchar_t *pParam4); typedef BOOL (CALLBACK *pFunIE_External5)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1,wchar_t *pParam2,wchar_t *pParam3,wchar_t *pParam4,wchar_t *pParam5); typedef BOOL (CALLBACK *pFunIE_External6)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1,wchar_t *pParam2,wchar_t *pParam3,wchar_t *pParam4,wchar_t *pParam5,wchar_t *pParam6); typedef BOOL (CALLBACK *pFunIE_External7)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1,wchar_t *pParam2,wchar_t *pParam3,wchar_t *pParam4,wchar_t *pParam5,wchar_t *pParam6,wchar_t *pParam7); typedef BOOL (CALLBACK *pFunIE_External8)(HXCGUI hWebBrowser,HSTRING hResultVal,wchar_t *pParam1,wchar_t *pParam2,wchar_t *pParam3,wchar_t *pParam4,wchar_t *pParam5,wchar_t *pParam6,wchar_t *pParam7,wchar_t *pParam8); //定义IE事件回调函数类型 typedef BOOL (CALLBACK *pFunIE_BeforeNavigate2)(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl,in_ int Flags,in_ wchar_t *pTargetFrameName,in_ wchar_t *pPostData,in_ wchar_t *pHeaders,in_out_ VARIANT_BOOL *bCancel); typedef BOOL (CALLBACK *pFunIE_ClientToHostWindow)(HXCGUI hWebBrowser,in_out_ long *pCx,in_out_ long *pCy); typedef BOOL (CALLBACK *pFunIE_CommandStateChange)(HXCGUI hWebBrowser,in_ long command,in_ VARIANT_BOOL enable); typedef BOOL (CALLBACK *pFunIE_DocumentComplete)(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl); typedef BOOL (CALLBACK *pFunIE_DownloadBegin)(HXCGUI hWebBrowser); typedef BOOL (CALLBACK *pFunIE_DownloadComplete)(HXCGUI hWebBrowser); typedef BOOL (CALLBACK *pFunIE_FileDownload)(HXCGUI hWebBrowser,in_ VARIANT_BOOL ActiveDocument,in_out_ VARIANT_BOOL *Cancel); typedef BOOL (CALLBACK *pFunIE_NavigateComplete2)(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl); typedef BOOL (CALLBACK *pFunIE_NavigateError)(HXCGUI hWebBrowser,in_ IDispatch *pDisp,in_ wchar_t *pUrl,in_ wchar_t *pTargetFrameName,in_ int statusCode,in_out_ VARIANT_BOOL *bCancel); typedef BOOL (CALLBACK *pFunIE_NewWindow2)(HXCGUI hWebBrowser,in_out_ IDispatch **pDisp,in_out_ VARIANT_BOOL *bCancel); typedef BOOL (CALLBACK *pFunIE_NewWindow3)(HXCGUI hWebBrowser,in_out_ IDispatch **pDisp,in_out_ VARIANT_BOOL *bCancel,in_ DWORD dwFlags,in_ wchar_t *pUrlContext,in_ wchar_t *pUrl); typedef BOOL (CALLBACK *pFunIE_OnFullScreen)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bFullScreen); typedef BOOL (CALLBACK *pFunIE_OnMenuBar)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bMenuBar); typedef BOOL (CALLBACK *pFunIE_OnQuit)(HXCGUI hWebBrowser); typedef BOOL (CALLBACK *pFunIE_OnStatusBar)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bStatusBar); typedef BOOL (CALLBACK *pFunIE_OnTheaterMode)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bTheaterMode); typedef BOOL (CALLBACK *pFunIE_OnToolBar)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bToolBar); typedef BOOL (CALLBACK *pFunIE_OnVisible)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bVisible); typedef BOOL (CALLBACK *pFunIE_PrintTemplateInstantiation)(HXCGUI hWebBrowser,in_ IDispatch *pDisp); typedef BOOL (CALLBACK *pFunIE_PrintTemplateTeardown)(HXCGUI hWebBrowser,in_ IDispatch *pDisp); typedef BOOL (CALLBACK *pFunIE_PrivacyImpactedStateChange)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bPrivacyImpacted); typedef BOOL (CALLBACK *pFunIE_ProgressChangee)(HXCGUI hWebBrowser,in_ long Progress,in_ long ProgressMax); typedef BOOL (CALLBACK *pFunIE_PropertyChange)(HXCGUI hWebBrowser,in_ wchar_t *pProperty); typedef BOOL (CALLBACK *pFunIE_SetPhishingFilterStatus)(HXCGUI hWebBrowser,in_ long phishingFilterStatus); typedef BOOL (CALLBACK *pFunIE_SetSecureLockIcon)(HXCGUI hWebBrowser,in_ signed int SecureLockIcon); typedef BOOL (CALLBACK *pFunIE_StatusTextChange)(HXCGUI hWebBrowser,in_ wchar_t *pText); typedef BOOL (CALLBACK *pFunIE_TitleChange)(HXCGUI hWebBrowser,in_ wchar_t *pText); typedef BOOL (CALLBACK *pFunIE_WindowClosing)(HXCGUI hWebBrowser,in_ VARIANT_BOOL IsChildWindow,in_out_ VARIANT_BOOL *bCancel); typedef BOOL (CALLBACK *pFunIE_WindowSetHeight)(HXCGUI hWebBrowser,in_ long height); typedef BOOL (CALLBACK *pFunIE_WindowSetLeft)(HXCGUI hWebBrowser,in_ long left); typedef BOOL (CALLBACK *pFunIE_WindowSetResizable)(HXCGUI hWebBrowser,in_ VARIANT_BOOL bResizable); typedef BOOL (CALLBACK *pFunIE_WindowSetTop)(HXCGUI hWebBrowser,in_ long top); typedef BOOL (CALLBACK *pFunIE_WindowSetWidth)(HXCGUI hWebBrowser,in_ long width); typedef BOOL (CALLBACK *pFunIE_WindowStateChanged)(HXCGUI hWebBrowser,in_ DWORD dwFlags,in_ DWORD dwValidFlagsMask); ////////////////IE end/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// //窗口消息处理过程 typedef BOOL (CALLBACK *pFunWndMsgProc)(HWINDOW hWindow,UINT message, WPARAM wParam, LPARAM lParam); //元素消息处理过程 typedef BOOL (CALLBACK *pFunEleMsgProc)(HELE hEle,UINT eleMessage,WPARAM wParam,LPARAM lParam); //元素事件处理过程 typedef BOOL (CALLBACK *pFunEleEventProc)(HELE hEle,int type,WPARAM wParam,LPARAM lParam); //绘制滚动视图 typedef BOOL (CALLBACK *pFunDrawScrollView)(HELE hEle,HDRAW hDraw); ////////////////////////////////////////////////////////// //树元素自绘 ///@addtogroup groupTree ///@{ ///列表树元素,项自绘结构 struct tree_drewItem_ { HDRAW hDraw; ///<图形绘制句柄 int id; ///<项ID int imageId; ///<图标ID int state; ///<状态 BOOL bExpand; ///<是否展开结点 wchar_t *pText; ///<文本内容 RECT rcButton; ///<按钮坐标 RECT rcImage; ///<图片坐标 RECT rcText; ///<文本坐标 }; ///@} ///@defgroup groupList_draw 列表元素自绘 ///@ingroup macroDefine ///@{ ///列表元素,项自绘结构 struct list_drawItem_ { HDRAW hDraw; ///<图形绘制句柄 int index; ///<项索引 int subIndex; ///<子项索引 int imageId; ///<图标ID int state; ///<状态 RECT rect; ///<项坐标 RECT rcCheck; ///<复选框坐标,对subIndex索引为0的有效 wchar_t *pText; ///<文本内容 }; ///列表元素,列表头项自绘结构 struct listHeader_drawItem_ { HDRAW hDraw; ///<图形绘制句柄 int index; ///<项索引 int imageId; ///<图标ID int state; ///<状态 如果值为-1,那么为绘制背景 RECT rect; ///<项坐标 wchar_t *pText; ///<文本内容 }; ///@} ///@defgroup groupListBox_draw 列表框元素自绘 ///@ingroup macroDefine ///@{ ///列表框元素,项自绘结构 struct listBox_drawItem_ { HDRAW hDraw; ///<图形绘制句柄 int index; ///<索引 int imageId; ///<图标ID int state; ///<状态 RECT rcItem; ///<项坐标 RECT rcCheck; ///<复选框坐标,当复选框启用时有效 wchar_t *pText; ///<文本内容 }; ///@} ///@defgroup itemBindEle 项绑定元素信息结构 ///@ingroup macroDefine ///@{ ///项绑定元素信息结构. struct itemBindEle_ { HELE hEle; ///<绑定的元素,如果绑定到列表元素,那么它的父应该为列表元素. int left; ///<相对于项. int top; ///<相对于项. int width; ///<宽度. int height; ///<高度. }; ///@} ///@defgroup groupListView_draw 列表视图元素自绘 ///@ingroup macroDefine ///@{ ///列表视图元素,项自绘结构 struct listView_drawItem_ //绘制项 { HDRAW hDraw; ///<图形绘制句柄 int groupIndex; //组索引 int itemIndex; //项索引 int imageID; ///<图片ID wchar_t *pText; ///<文本 int state; ///<状态,是否选择 HIMAGE hImage_stay; //项停留图片 HIMAGE hImage_select; //项选择图标 RECT rcIcon; ///<图标坐标 RECT rcIconDraw; ///<图标实际绘制区域 RECT rcText; ///<文字坐标 RECT rect; ///<整个区域,包含边框 int userData; ///<用户数据 }; ///列表视图元素,组自绘结构 struct listView_drawGroup_ //绘制组 { HDRAW hDraw; ///<图形绘制句柄 BOOL bExpand; ///<是否展开 wchar_t *pText; ///<文本 RECT rcText; ///<文本坐标 RECT rcButton; ///<展开按钮坐标 RECT rect; ///<组区域坐标 int userData; ///<用户数据 }; ///列表视图元素,用户拖动项插入 struct listView_dragInsert_ { int groupIndex; ///<拖动项 - 组索引 int itemIndex; ///<拖动项 - 项索引 int groupIndex_insert; ///<插入位置 - 组索引 int itemIndex_insert; ///<插入位置 - 项索引 int groupIndex_new; //插入后位置 组索引 int itemIndex_new; //插入后位置 项索引 }; ///@} ///@defgroup groupMenu_draw 菜单自绘 ///@ingroup macroDefine ///@{ ///菜单项自绘结构 struct menu_drawItem_ { HWINDOW hWindow; ///<当前弹出菜单项的窗口句柄 HDRAW hDraw; ///<图形绘制句柄 int id; ///(memberFunction),ele_event) //注册元素消息 #define XCGUI_RegEleMessage(hEle,type,memberFunction) \ RegisterAll(hEle,type,reinterpret_cast(memberFunction),ele_msg) //注册元素消息处理过程 #define XCGUI_RegEleMsgProc(hEle,type,memberFunction) \ RegisterAll(hEle,type,reinterpret_cast(memberFunction),ele_msg_proc) //注册元素事件处理过程 #define XCGUI_RegEleEventProc(hEle,type,memberFunction) \ RegisterAll(hEle,type,reinterpret_cast(memberFunction),ele_event_proc) //注册窗口消息 #define XCGUI_RegWndMessage(hWindow,type,memberFunction) \ RegisterAll(hWindow,type,reinterpret_cast(memberFunction),wnd_msg) //注册窗口逻辑非客户区消息 #define XCGUI_RegWndNCMessage(hWindow,type,memberFunction) \ RegisterAll(hWindow,type,reinterpret_cast(memberFunction),wnd_msg_nc) //注册窗口消息处理过程 #define XCGUI_RegWndMsgProc(hWindow,memberFunction) \ RegisterAll(hWindow,0,reinterpret_cast(memberFunction),wnd_msg_proc) //注册滚动视图绘制 #define XCGUI_SView_SetDrawScrollView(hEle,memberFunction) \ RegisterAll(hEle,0,reinterpret_cast(memberFunction),ele_scrollView_draw) //注册列表项绘制 #define XCGUI_List_SetUserDrawItem(hEle,memberFunction) \ RegisterAll(hEle,0,reinterpret_cast(memberFunction),ele_list_drawItem) //列表头项绘制 #define XCGUI_List_SetUserDrawItemHeader(hEle,memberFunction) \ RegisterAll(hEle,0,reinterpret_cast(memberFunction),ele_list_drawItemHeader) //树项绘制 #define XCGUI_Tree_SetUserDrawItem(hEle,memberFunction) \ RegisterAll(hEle,0,reinterpret_cast(memberFunction),ele_tree_drawItem) //列表框项绘制 #define XCGUI_ListBox_SetUserDrawItem(hEle,memberFunction) \ RegisterAll(hEle,0,reinterpret_cast(memberFunction),ele_listBox_drawItem) //列表视图项绘制 #define XCGUI_ListView_SetUserDrawItem(hEle,memberFunction) \ RegisterAll(hEle,0,reinterpret_cast(memberFunction),ele_listView_drawItem) //列表视图组绘制 #define XCGUI_ListView_SetUserDrawGroup(hEle,memberFunction) \ RegisterAll(hEle,0,reinterpret_cast(memberFunction),ele_listView_drawGroup) //菜单项自绘 #define XCGUI_Menu_SetUserDrawItem(hMenu,memberFunction) \ RegisterAll(hMenu,0,reinterpret_cast(memberFunction),ele_menu_drawItem) //菜单背景自绘 #define XCGUI_Menu_SetUserDrawBG(hMenu,memberFunction) \ RegisterAll(hMenu,0,reinterpret_cast(memberFunction),ele_menu_drawBG) //更新菜单项 #define XCGUI_Menu_SetUserUpdateUI(hMenu,memberFunction) \ RegisterAll(hMenu,0,reinterpret_cast(memberFunction),ele_menu_updateUI) union xcgui_functions //函数指针 { void (CXEventMsg::*fun_v_v)(void); BOOL (CXEventMsg::*fun_b_e_e_i_i)(HELE,HELE,int,int); BOOL (CXEventMsg::*fun_b_e_e_i)(HELE,HELE,int); BOOL (CXEventMsg::*fun_b_e_e)(HELE,HELE); BOOL (CXEventMsg::*fun_b_e_e_pb)(HELE,HELE,BOOL*); BOOL (CXEventMsg::*fun_b_e_e_i_pb)(HELE,HELE,int,BOOL*); BOOL (CXEventMsg::*fun_b_e_e_b)(HELE,HELE,BOOL); BOOL (CXEventMsg::*fun_b_e_e_i_p)(HELE,HELE,int,POINT*); BOOL (CXEventMsg::*fun_b_e_e_i_b)(HELE,HELE,int,BOOL); BOOL (CXEventMsg::*fun_b_e_e_b_b)(HELE,HELE,BOOL,BOOL); BOOL (CXEventMsg::*fun_b_e_i_i_i)(HELE,int,int,int); BOOL (CXEventMsg::*fun_b_e_i_i)(HELE,int,int); BOOL (CXEventMsg::*fun_b_e_e_w_e)(HELE,HELE,HWINDOW,HELE); BOOL (CXEventMsg::*fun_b_e_e_listViewDragInsert)(HELE,HELE,listView_dragInsert_*); void (CXEventMsg::*fun_v_e)(HELE); BOOL (CXEventMsg::*fun_b_e_i_p)(HELE,int,POINT*); BOOL (CXEventMsg::*fun_b_e_p)(HELE,POINT*); BOOL (CXEventMsg::*fun_b_e_hdraw)(HELE,HDRAW); BOOL (CXEventMsg::*fun_b_w_hdraw)(HWINDOW,HDRAW); BOOL (CXEventMsg::*fun_b_w)(HWINDOW); BOOL (CXEventMsg::*fun_b_w_i_p)(HWINDOW,int,POINT*); BOOL (CXEventMsg::*fun_b_w_i_size)(HWINDOW,int,SIZE*); BOOL (CXEventMsg::*fun_b_w_i_i)(HWINDOW,int,int); BOOL (CXEventMsg::*fun_b_w_p)(HWINDOW,POINT*); BOOL (CXEventMsg::*fun_b_w_e)(HWINDOW,HELE); BOOL (CXEventMsg::*fun_b_w_hwnd)(HWINDOW,HWND); BOOL (CXEventMsg::*fun_b_w_i)(HWINDOW,int); void (CXEventMsg::*fun_v_e_list)(HELE,list_drawItem_*); void (CXEventMsg::*fun_v_e_listHeader)(HELE,listHeader_drawItem_*); void (CXEventMsg::*fun_v_e_tree)(HELE,tree_drewItem_*); void (CXEventMsg::*fun_v_e_listBox)(HELE,listBox_drawItem_*); void (CXEventMsg::*fun_v_e_listView)(HELE,listView_drawItem_*); void (CXEventMsg::*fun_v_e_listViewGroup)(HELE,listView_drawGroup_*); void (CXEventMsg::*fun_v_x_menu_drawItem)(HMENUX,menu_drawItem_*); void (CXEventMsg::*fun_v_x_menu_drawBG)(HMENUX,menu_drawBG_*); void (CXEventMsg::*fun_v_x_menu_updateUI)(HMENUX,int); }; enum xcgui_reg_type //注册类型 { ele_event, //元素事件 ele_msg, //元素消息 ele_msg_proc, //元素消息处理过程 ele_event_proc, //元素事件处理过程 wnd_msg, //窗口消息 wnd_msg_nc, //窗口逻辑非客户区消息 wnd_msg_proc, //窗口消息处理过程 //--------------- ele_scrollView_draw, //滚动视图自绘 ele_list_drawItem, //列表项自绘 ele_list_drawItemHeader, //列表头项自绘 ele_tree_drawItem, //树项自绘 ele_listBox_drawItem, //列表框项自绘 ele_listView_drawItem, //列表视图项绘制 ele_listView_drawGroup, //列表视图组绘制 ele_menu_drawItem, //绘制菜单项 ele_menu_drawBG, //绘制菜单背景 ele_menu_updateUI, //菜单项更新UI }; struct xcgui_info_ { CXEventMsg *theThis; xcgui_functions funs; }; void RegisterAll(HXCGUI hXCGUI,int type,void (CXEventMsg::*fun)(void),int T) //注册消息事件 { xcgui_info_ *pInfo=(xcgui_info_*)XC_Malloc(sizeof(xcgui_info_)); pInfo->theThis=this; pInfo->funs.fun_v_v=fun; switch(T) { case ele_event: //注册元素事件 XEle_RegisterEventEx((HELE)hXCGUI,type,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_msg: //元素消息 XEle_RegisterMessageEx((HELE)hXCGUI,type,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_msg_proc: //元素消息处理过程 XEle_RegisterMsgProcEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_event_proc: //元素事件处理过程 XEle_RegisterEventProcEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case wnd_msg: //注册窗口消息 XWnd_RegisterMessageEx((HWINDOW)hXCGUI,type,CXEventMsg::OnEventAndMsg,pInfo); break; case wnd_msg_nc: //注册窗口逻辑上非客户区消息 XWnd_RegisterNCMessageEx((HWINDOW)hXCGUI,type,CXEventMsg::OnEventAndMsg,pInfo); break; case wnd_msg_proc: XWnd_RegisterMsgProcEx((HWINDOW)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_scrollView_draw: //滚动视图绘制 XSView_SetDrawScrollViewEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_list_drawItem: //列表项自绘 XList_SetUserDrawItemEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_list_drawItemHeader: //列表头项绘制 XList_SetUserDrawItemHeaderEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_tree_drawItem: //树项自绘 XTree_SetUserDrawItemEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_listBox_drawItem://列表框项自绘 XListBox_SetUserDrawItemEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_listView_drawItem: //列表视图项自绘 XListView_SetUserDrawItemEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_listView_drawGroup: //列表视图组自绘 XListView_SetUserDrawGroupEx((HELE)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_menu_drawItem: //菜单项自绘 XMenu_SetUserDrawItemEx((HMENUX)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_menu_drawBG: XMenu_SetUserDrawBGEx((HMENUX)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; case ele_menu_updateUI: XMenu_SetUserUpdateUIEx((HMENUX)hXCGUI,CXEventMsg::OnEventAndMsg,pInfo); break; }; } static BOOL CALLBACK OnEventAndMsg(eventOrMsg_ *pEvent,xcgui_fun_type funType)//事件回调 { xcgui_info_ *info=(xcgui_info_*)pEvent->pClass_fun; BOOL bResult=FALSE; switch(funType) { ////////////////////////////////////////////////// case xc_fun_b_e_e_i_i: bResult=(info->theThis->*info->funs.fun_b_e_e_i_i)(pEvent->hEle,pEvent->hEventEle,pEvent->wParam,pEvent->lParam); break; case xc_fun_b_e_e_i: bResult=(info->theThis->*info->funs.fun_b_e_e_i)(pEvent->hEle,pEvent->hEventEle,pEvent->wParam); break; case xc_fun_b_e_e: bResult=(info->theThis->*info->funs.fun_b_e_e)(pEvent->hEle,pEvent->hEventEle); break; case xc_fun_b_e_e_pb: bResult=(info->theThis->*info->funs.fun_b_e_e_pb)(pEvent->hEle,pEvent->hEventEle,(BOOL*)&pEvent->wParam); break; case xc_fun_b_e_e_i_pb: bResult=(info->theThis->*info->funs.fun_b_e_e_i_pb)(pEvent->hEle,pEvent->hEventEle,pEvent->wParam,(BOOL*)pEvent->lParam); break; case xc_fun_b_e_e_b: bResult=(info->theThis->*info->funs.fun_b_e_e_b)(pEvent->hEle,pEvent->hEventEle,(BOOL)pEvent->wParam); break; case xc_fun_b_e_e_i_pt: bResult=(info->theThis->*info->funs.fun_b_e_e_i_p)(pEvent->hEle,pEvent->hEventEle,pEvent->wParam,(POINT*)pEvent->lParam); break; case xc_fun_b_e_e_i_b: bResult=(info->theThis->*info->funs.fun_b_e_e_i_b)(pEvent->hEle,pEvent->hEventEle,pEvent->wParam,pEvent->lParam?TRUE:FALSE); break; case xc_fun_b_e_e_b_b: bResult=(info->theThis->*info->funs.fun_b_e_e_b_b)(pEvent->hEle,pEvent->hEventEle,pEvent->wParam?TRUE:FALSE,pEvent->lParam?TRUE:FALSE); break; case xc_fun_b_e_e_w_e: bResult=(info->theThis->*info->funs.fun_b_e_e_w_e)(pEvent->hEle,pEvent->hEventEle,(HWINDOW)pEvent->wParam,(HELE)pEvent->lParam); break; case xc_fun_b_e_e_listView_dragInsert: bResult=(info->theThis->*info->funs.fun_b_e_e_listViewDragInsert)(pEvent->hEle,pEvent->hEventEle,(listView_dragInsert_*)pEvent->wParam); break; ///////////////////////////////////////////////////////// case xc_fun_v_e: (info->theThis->*info->funs.fun_v_e)(pEvent->hEle); break; case xc_fun_b_e_i_i_i: bResult=(info->theThis->*info->funs.fun_b_e_i_i_i)(pEvent->hEle,pEvent->xint,pEvent->wParam,pEvent->lParam); break; case xc_fun_b_e_i_i: bResult=(info->theThis->*info->funs.fun_b_e_i_i)(pEvent->hEle,pEvent->wParam,pEvent->lParam); break; case xc_fun_b_e_i_pt: bResult=(info->theThis->*info->funs.fun_b_e_i_p)(pEvent->hEle,pEvent->wParam,(POINT*)pEvent->lParam); break; case xc_fun_b_e_pt: bResult=(info->theThis->*info->funs.fun_b_e_p)(pEvent->hEle,(POINT*)pEvent->wParam); break; case xc_fun_b_e_hdraw: bResult=(info->theThis->*info->funs.fun_b_e_hdraw)(pEvent->hEle,(HDRAW)pEvent->wParam); break; case xc_fun_b_w_hdraw: bResult=(info->theThis->*info->funs.fun_b_w_hdraw)(pEvent->hWindow,(HDRAW)pEvent->wParam); break; case xc_fun_b_w: bResult=(info->theThis->*info->funs.fun_b_w)(pEvent->hWindow); break; case xc_fun_b_w_i_pt: bResult=(info->theThis->*info->funs.fun_b_w_i_p)(pEvent->hWindow,pEvent->wParam,(POINT*)pEvent->lParam); break; case xc_fun_b_w_i_size: bResult=(info->theThis->*info->funs.fun_b_w_i_size)(pEvent->hWindow,pEvent->wParam,(SIZE*)pEvent->lParam); break; case xc_fun_b_w_i_i: bResult=(info->theThis->*info->funs.fun_b_w_i_i)(pEvent->hWindow,pEvent->wParam,pEvent->lParam); break; case xc_fun_b_w_pt: bResult=(info->theThis->*info->funs.fun_b_w_p)(pEvent->hWindow,(POINT*)pEvent->wParam); break; case xc_fun_b_w_e: bResult=(info->theThis->*info->funs.fun_b_w_e)(pEvent->hWindow,(HELE)pEvent->wParam); break; case xc_fun_b_w_hwnd: bResult=(info->theThis->*info->funs.fun_b_w_hwnd)(pEvent->hWindow,(HWND)pEvent->wParam); break; case xc_fun_b_w_i: bResult=(info->theThis->*info->funs.fun_b_w_i)(pEvent->hWindow,pEvent->wParam); break; ////////////////////////////////////////////////////// case xc_fun_v_e_list_item: (info->theThis->*info->funs.fun_v_e_list)(pEvent->hEle,(list_drawItem_*)pEvent->wParam); break; case xc_fun_v_e_list_header: (info->theThis->*info->funs.fun_v_e_listHeader)(pEvent->hEle,(listHeader_drawItem_*)pEvent->wParam); break; case xc_fun_v_e_tree: (info->theThis->*info->funs.fun_v_e_tree)(pEvent->hEle,(tree_drewItem_*)pEvent->wParam); break; case xc_fun_v_e_listBox: (info->theThis->*info->funs.fun_v_e_listBox)(pEvent->hEle,(listBox_drawItem_*)pEvent->wParam); break; case xc_fun_v_e_listView_item: (info->theThis->*info->funs.fun_v_e_listView)(pEvent->hEle,(listView_drawItem_*)pEvent->wParam); break; case xc_fun_v_e_listView_group: (info->theThis->*info->funs.fun_v_e_listViewGroup)(pEvent->hEle,(listView_drawGroup_*)pEvent->wParam); break; case xc_fun_v_x_menu_item: (info->theThis->*info->funs.fun_v_x_menu_drawItem)(pEvent->hMenu,(menu_drawItem_*)pEvent->wParam); break; case xc_fun_v_x_menu_bg: (info->theThis->*info->funs.fun_v_x_menu_drawBG)(pEvent->hMenu,(menu_drawBG_*)pEvent->wParam); break; case xc_fun_v_x_menu_i: (info->theThis->*info->funs.fun_v_x_menu_updateUI)(pEvent->hMenu,pEvent->wParam); break; } return bResult; } }; #endif //XCGUI_PLUS //这里添加导出API函数//////////////////////////////////////////////////////// XC_API HWINDOW WINAPI XC_LoadXML_Window(wchar_t *pFileName,HXMLRES hXmlRes=NULL,HWND hWndParent=NULL); XC_API HWINDOW WINAPI XC_LoadXML_WindowRes(int resID,wchar_t *pType,HXMLRES hXmlRes=NULL,HWND hWndParent=NULL); XC_API BOOL WINAPI XC_LoadXML_Page(HXCGUI hParent,wchar_t *pFileName,HXMLRES hXmlRes=NULL); XC_API BOOL WINAPI XC_LoadXML_PageRes(HXCGUI hParent,int resID,wchar_t *pType,HXMLRES hXmlRes=NULL); XC_API BOOL WINAPI XC_LoadXML_Style(HWINDOW hWindow,wchar_t *pFileName,HXMLRES hXmlRes=NULL); XC_API BOOL WINAPI XC_LoadXML_StyleRes(HWINDOW hWindow,int resID,wchar_t *pType,HXMLRES hXmlRes=NULL); //从资源加载 XC_API HXMLRES WINAPI XXmlRes_Load(wchar_t *pFileName); XC_API HXMLRES WINAPI XXmlRes_LoadRes(int resID,wchar_t *pType);//从VC资源文件中加载 XC_API void WINAPI XXmlRes_Destroy(HXMLRES hXmlRes); XC_API int WINAPI XXmlRes_FindId(HXMLRES hXmlRes,wchar_t *pName); XC_API void WINAPI XXmlRes_FindImage(HXMLRES hXmlRes,wchar_t *pName,out_ wchar_t *pOut,int outLen); XC_API void WINAPI XXmlRes_FindString(HXMLRES hXmlRes,wchar_t *pName,out_ wchar_t *pOut,int outLen); XC_API HIMAGE WINAPI XXmlRes_FildHIMAGE(HXMLRES hXmlRes,wchar_t *pName); XC_API HARRAY WINAPI XArray_Create(); //创建 XC_API void WINAPI XArray_Destroy(HARRAY hArray); //销毁 XC_API int WINAPI XArray_Add(HARRAY hArray,void *pElement);//增加元素到末尾 XC_API void WINAPI XArray_AddFirst(HARRAY hArray,void *pElement); //增加到开头 XC_API BOOL WINAPI XArray_insert(HARRAY hArray,void *pElement,int index); //插入到指定位置 XC_API void WINAPI XArray_DeleteIndex(HARRAY hArray,int index); XC_API void WINAPI XArray_Delete(HARRAY hArray,void *pElement); XC_API void WINAPI XArray_DeleteEnd(HARRAY hArray,int index); //删除末尾内容 XC_API void WINAPI XArray_DeleteRange(HARRAY hArray,int begin,int end); XC_API void WINAPI XArray_DeleteAll(HARRAY hArray); XC_API void WINAPI XArray_SetAt(HARRAY hArray,int index,void *pElement); XC_API void* WINAPI XArray_GetAt(HARRAY hArray,int index); XC_API int WINAPI XArray_GetCount(HARRAY hArray); XC_API HARRAY_ITERATOR WINAPI XArrayIterator_Create(HARRAY hArray,BOOL bType=TRUE); //创建迭代器 XC_API void* WINAPI XArrayIterator_GetAt(HARRAY_ITERATOR hArray_Iterator); XC_API void WINAPI XArrayIterator_Destroy(HARRAY_ITERATOR hArray_Iterator); XC_API HELE WINAPI XBtn_Create(int x, int y, int cx, int cy,wchar_t *pTitle=NULL,HXCGUI hParent=NULL); //创建按钮 XC_API wchar_t * WINAPI XBtn_GetText(HELE hEle); //获取文本 XC_API void WINAPI XBtn_SetText(HELE hEle,wchar_t *pText); XC_API void WINAPI XBtn_SetCheck(HELE hEle,BOOL bCheck); XC_API BOOL WINAPI XBtn_IsCheck(HELE hEle); //按钮是否被选中 XC_API int WINAPI XBtn_GetState(HELE hEle); XC_API void WINAPI XBtn_SetImageLeave(HELE hEle,HIMAGE hImage=NULL); //鼠标离开时图片 XC_API void WINAPI XBtn_SetImageStay(HELE hEle,HIMAGE hImage=NULL); //鼠标停留时图片 XC_API void WINAPI XBtn_SetImageDown(HELE hEle,HIMAGE hImage=NULL); //鼠标按下时图片 XC_API void WINAPI XBtn_SetImageCheck(HELE hEle,HIMAGE hImage=NULL); //选中时图片 XC_API void WINAPI XBtn_SetImageDisable(HELE hEle,HIMAGE hImage=NULL); //按钮禁用状态图片 XC_API void WINAPI XBtn_SetTextAlign(HELE hEle,int flag); //设置文本对齐 XC_API void WINAPI XBtn_SetIcon(HELE hEle,HIMAGE hImage); //设置图标 XC_API void WINAPI XBtn_SetIconAlign(HELE hEle,int align); XC_API void WINAPI XBtn_EnableCursorHand(HELE hEle,BOOL bEnable); //鼠标停留,光标变为手型 XC_API void WINAPI XBtn_EnableAnimation(HELE hEle,BOOL bEnable,BOOL bLoopPlay=FALSE); XC_API void WINAPI XBtn_AddAnimationFrame(HELE hEle,HIMAGE hImage,UINT uElapse); XC_API void WINAPI XBtn_SetOffset(HELE hEle,int x,int y); //设置内容坐标偏移量 XC_API HELE WINAPI XCheck_Create(int x, int y, int cx, int cy,wchar_t *pTitle=NULL,HXCGUI hParent=NULL); XC_API void WINAPI XCheck_SetImageLeave_UnCheck(HELE hEle,HIMAGE hImage); //鼠标离开时图片 未选择 XC_API void WINAPI XCheck_SetImageStay_UnCheck(HELE hEle,HIMAGE hImage); //鼠标停留时图片 未选择 XC_API void WINAPI XCheck_SetImageDown_UnCheck(HELE hEle,HIMAGE hImage); //鼠标按下时图片 未选择 XC_API void WINAPI XCheck_SetImageDisable_UnCheck(HELE hEle,HIMAGE hImage); //按钮禁用状态图片 未选择 XC_API void WINAPI XCheck_SetImageLeave_Check(HELE hEle,HIMAGE hImage); //鼠标离开时图片 选择 XC_API void WINAPI XCheck_SetImageStay_Check(HELE hEle,HIMAGE hImage); //鼠标停留时图片 选择 XC_API void WINAPI XCheck_SetImageDown_Check(HELE hEle,HIMAGE hImage); //鼠标按下时图片 选择 XC_API void WINAPI XCheck_SetImageDisable_Check(HELE hEle,HIMAGE hImage); //按钮禁用状态图片 选择 XC_API HELE WINAPI XCHColor_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API COLORREF WINAPI XCHColor_GetColor(HELE hEle); //获取颜色RGB值 XC_API void WINAPI XCHColor_SetColor(HELE hEle,COLORREF color);//设置颜色 XC_API HELE WINAPI XComboBox_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API BOOL WINAPI XComboBox_AddString(HELE hEle,wchar_t *pText,int data=0); //增加一个字符串到组合框 XC_API void WINAPI XComboBox_DeleteItem(HELE hEle,int index);//删除项 XC_API void WINAPI XComboBox_DeleteItemAll(HELE hEle); //删除所有项 XC_API void WINAPI XComboBox_EnableEdit(HELE hEle,BOOL bEdit); //启动编辑内容 XC_API void WINAPI XComboBox_SetSelectItem(HELE hEle,int index); //设置选择项 XC_API void WINAPI XComboBox_SetText(HELE hEle,wchar_t *pText); //设置编辑框内容 XC_API void WINAPI XComboBox_SetItemHeight(HELE hEle,int height); //设置下拉列表项高 XC_API void WINAPI XComboBox_SetListHeight(HELE hEle,int height); //设置下拉列表高度 XC_API void WINAPI XComboBox_SetButtonWidth(HELE hEle,int width); //设置下拉按钮宽度 XC_API void WINAPI XComboBox_SetItemData(HELE hEle,int index,int data); XC_API int WINAPI XComboBox_GetButtonWidth(HELE hEle); //获取下拉按钮宽度 XC_API void WINAPI XComboBox_GetText(HELE hEle,wchar_t *pOut,int len); //获取编辑框文本 XC_API int WINAPI XComboBox_GetItemHeight(HELE hEle); //获取项高 XC_API int WINAPI XComboBox_GetListHeight(HELE hEle); //获取下拉列表高度 XC_API wchar_t* WINAPI XComboBox_GetItemText(HELE hEle,int index); //获取下拉列表文本 XC_API int WINAPI XComboBox_GetSelectItem(HELE hEle); //获取当前选择项索引 XC_API int WINAPI XComboBox_GetItemData(HELE hEle,int index); XC_API int WINAPI XComboBox_GetItemCount(HELE hEle); //获取项数量 XC_API void WINAPI XComboBox_SetImageLeave(HELE hEle,HIMAGE hImage=NULL); //鼠标离开 XC_API void WINAPI XComboBox_SetImageStay(HELE hEle,HIMAGE hImage=NULL); //鼠标停留 XC_API void WINAPI XComboBox_SetImageDown(HELE hEle,HIMAGE hImage=NULL); //鼠标按下 XC_API void WINAPI XDraw_FillSolidRect(HDC hdc,RECT *pRect,COLORREF clr); XC_API BOOL WINAPI XDraw_GradientFill2(HDC hdc,COLORREF color1,COLORREF color2,RECT *pRect,int mode); XC_API BOOL WINAPI XDraw_GradientFill4(HDC hdc,COLORREF color1,COLORREF color2,COLORREF colo3,COLORREF color4,RECT *pRect,int mode); XC_API void WINAPI XDraw_Check(HDC hdc,int x,int y,COLORREF color,BOOL bCheck); XC_API void WINAPI XDraw_HImage(HDC hdc,HIMAGE hImage,int x,int y); XC_API void WINAPI XDraw_HImageStretch(HDC hdc,HIMAGE hImage,int x,int y,int width,int height); XC_API void WINAPI XDraw_HImageSuper(HDC hdc,HIMAGE hImage,RECT *pRect); XC_API void WINAPI XDraw_HImageEx(HDC hdc,HIMAGE hImage,int x,int y,int width,int height,int srcX,int srcY); XC_API void WINAPI XDraw_HImageExTile(HDC hdc,HIMAGE hImage,RECT *pRect,int flag=0); XC_API void WINAPI XDraw_HImageAdaptive(HDC hdc,HIMAGE hImage,RECT *pRect); XC_API HDRAW WINAPI XDraw_Create_(HDC hdc); //创建 XC_API void WINAPI XDraw_Destroy_(HDRAW hDraw); //销毁 XC_API void WINAPI XDraw_SetOffset_(HDRAW hDraw,int x,int y); //设置坐标偏移量 XC_API void WINAPI XDraw_RestoreGDIOBJ_(HDRAW hDraw); //还原状态,释放用户绑定的GDI对象 XC_API HDC WINAPI XDraw_GetHDC_(HDRAW hDraw); XC_API void WINAPI XDraw_GetOffset_(HDRAW hDraw,out_ int *pX,out_ int *pY); //获取坐标偏移量 XC_API COLORREF WINAPI XDraw_SetTextColor_(HDRAW hDraw,COLORREF crColor); XC_API HBRUSH WINAPI XDraw_CreateSolidBrush_(HDRAW hDraw,COLORREF crColor); XC_API HPEN WINAPI XDraw_CreatePen_(HDRAW hDraw,int fnPenStyle,int nWidth,COLORREF crColor); XC_API HRGN WINAPI XDraw_CreateRoundRectRgn_(HDRAW hDraw,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nWidthEllipse,int nHeightEllipse); XC_API HRGN WINAPI XDraw_CreatePolygonRgn_(HDRAW hDraw,POINT *pPt,int cPoints,int fnPolyFillMode); XC_API HGDIOBJ WINAPI XDraw_SelectObject_(HDRAW hDraw,HGDIOBJ hObj); XC_API int WINAPI XDraw_SelectClipRgn_(HDRAW hDraw,HRGN hRgn); XC_API BOOL WINAPI XDraw_DeleteObject_(HDRAW hDraw,HGDIOBJ hObj); XC_API int WINAPI XDraw_FillRect_(HDRAW hDraw,RECT *pRect,HBRUSH hbr); XC_API BOOL WINAPI XDraw_FillRgn_(HDRAW hDraw,HRGN hrgn,HBRUSH hbr); XC_API void WINAPI XDraw_FillSolidRect_(HDRAW hDraw,RECT *pRect,COLORREF clr); XC_API BOOL WINAPI XDraw_GradientFill2_(HDRAW hDraw,COLORREF color1,COLORREF color2, RECT *pRect,int mode); XC_API BOOL WINAPI XDraw_GradientFill4_(HDRAW hDraw,COLORREF color1,COLORREF color2,COLORREF color3,COLORREF color4,RECT *pRect,int mode); XC_API BOOL WINAPI XDraw_FrameRgn_(HDRAW hDraw,HRGN hrgn,HBRUSH hbr,int nWidth,int nHeight); XC_API int WINAPI XDraw_FrameRect_(HDRAW hDraw,RECT *pRect,HBRUSH hbr); XC_API BOOL WINAPI XDraw_FocusRect_(HDRAW hDraw,RECT *pRect); XC_API BOOL WINAPI XDraw_Rectangle_(HDRAW hDraw,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect); XC_API BOOL WINAPI XDraw_MoveToEx_(HDRAW hDraw,int X,int Y,LPPOINT lpPoint=NULL); XC_API BOOL WINAPI XDraw_LineTo_(HDRAW hDraw,int nXEnd,int nYEnd); XC_API void WINAPI XDraw_Check_(HDRAW hDraw,int x,int y,COLORREF color,BOOL bCheck); XC_API void WINAPI XDraw_Dottedline_(HDRAW hDraw,int x,int y,int length,COLORREF color,BOOL bHorizontal=TRUE); //绘制虚线 XC_API COLORREF WINAPI XDraw_SetPixel_(HDRAW hDraw,int X,int Y,COLORREF crColor); XC_API BOOL WINAPI XDraw_DrawIconEx_(HDRAW hDraw,int xLeft,int yTop,HICON hIcon,int cxWidth,int cyWidth,UINT istepIfAniCur,HBRUSH hbrFlickerFreeDraw, UINT diFlags); XC_API BOOL WINAPI XDraw_BitBlt_(HDRAW hDrawDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop); XC_API BOOL WINAPI XDraw_BitBlt2_(HDRAW hDrawDest,int nXDest,int nYDest,int nWidth,int nHeight,HDRAW hDrawSrc,int nXSrc,int nYSrc,DWORD dwRop); XC_API void WINAPI XDraw_TriangularArrow(HDRAW hDraw,HBRUSH hBrush,int align,int x,int y,int width,int height); XC_API void WINAPI XDraw_HImage_(HDRAW hDraw,HIMAGE hImage,int x,int y); XC_API void WINAPI XDraw_HImage2_(HDRAW hDraw,HIMAGE hImage,int x,int y,int width,int height); XC_API void WINAPI XDraw_HImageStretch_(HDRAW hDraw,HIMAGE hImage,int x,int y,int width,int height); XC_API void WINAPI XDraw_HImageAdaptive_(HDRAW hDraw,HIMAGE hImage,RECT *pRect); XC_API void WINAPI XDraw_HImageExTile_(HDRAW hDraw,HIMAGE hImage,RECT *pRect,int flag=0); XC_API void WINAPI XDraw_HImageSuper_(HDRAW hDraw,HIMAGE hImage,RECT *pRect); XC_API void WINAPI XDraw_HImageSuper2_(HDRAW hDraw,HIMAGE hImage,RECT *pRcDest,RECT *pSrcRect); XC_API int WINAPI XDraw_DrawText_(HDRAW hDraw,wchar_t * lpString,int nCount,RECT* lpRect,UINT uFormat); XC_API BOOL WINAPI XDraw_TextOut_(HDRAW hDraw,int nXStart,int nYStart,wchar_t * lpString,int cbString); XC_API HELE WINAPI XEdit_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API void WINAPI XEdit_EnableMultiLine(HELE hEle,BOOL b); //启用多行输入 XC_API void WINAPI XEdit_EnablePassBox(HELE hEle,BOOL bPass); //启用密码框 XC_API void WINAPI XEdit_EnableNumber(HELE hEle,BOOL bNumber); //只能输入数字 XC_API void WINAPI XEdit_EnablePopupMenu(HELE hEle,BOOL bEnable); //启用鼠标右键菜单 XC_API void WINAPI XEdit_InsertText(HELE hEle,wchar_t *pText,int row=-1,int column=-1); //插入文本,row=-1末尾行,column=-1末尾列; XC_API void WINAPI XEdit_DeleteSelectText(HELE hEle); //删除选择文本,当只读属性时,也可以删除文本 XC_API void WINAPI XEdit_SetText(HELE hEle,wchar_t *pText); //设置文本 XC_API void WINAPI XEdit_SetInt(HELE hEle,int value); //设置整形内容 XC_API void WINAPI XEdit_SetReadOnly(HELE hEle,BOOL bRead); //设置只读文本 XC_API void WINAPI XEdit_SetTextSpacingLeft(HELE hEle,int spacing); //设置字体左对齐间隔 XC_API void WINAPI XEdit_SetTextSpacingTop(HELE hEle,int spacing); //设置字体上对齐间隔 XC_API void WINAPI XEdit_SetPos(HELE hEle,int line,int column); //设置插入符位置 XC_API void WINAPI XEdit_SetCaretWidth(HELE hEle,int width); //设置编辑框插入符宽度 XC_API void WINAPI XEdit_SetBackspace(HELE hEle); //退格 XC_API void WINAPI XEdit_SetSelectTextBkColor(HELE hEle,COLORREF color);//设置选择文本背景颜色 XC_API void WINAPI XEdit_GetSelectText(HELE hEle,wchar_t *pOut,int len); //获取选择内容 XC_API int WINAPI XEdit_GetTextLength(HELE hEle); //获取内容长度 XC_API void WINAPI XEdit_GetText(HELE hEle,wchar_t *pOut,int len); //获取文本 XC_API int WINAPI XEdit_GetInt(HELE hEle); //获取整形内容 XC_API int WINAPI XEdit_GetRowCount(HELE hEle); //获取总行数 XC_API int WINAPI XEdit_GetColumnCount(HELE hEle,int row); //获取指定行字符数,row=-1末尾行; XC_API int WINAPI XEdit_GetCurrentRow(HELE hEle); //获取插入符位置当前行 XC_API int WINAPI XEdit_GetCurrentColumn(HELE hEle); //获取插入符位置当前列 XC_API BOOL WINAPI XEdit_IsEmpty(HELE hEle); //判断内容是否为空 XC_API void WINAPI XEdit_DeleteAll(HELE hEle); //清空 删除所有文本 XC_API void WINAPI XEdit_Menu_Cut(HELE hEle); //剪切 删除选择的文本,并将文本拷贝到剪切板中 XC_API void WINAPI XEdit_Menu_Copy(HELE hEle); //复制 复制选择的文本到剪切板中 XC_API void WINAPI XEdit_Menu_Paste(HELE hEle); //粘贴 将剪切板中的文本插入当前光标位置 XC_API void WINAPI XEdit_Menu_Clear(HELE hEle); //删除 删除选择的文本,当只读属性时无法删除文本 XC_API void WINAPI XEdit_Menu_SelectAll(HELE hEle); //全选 选择所有文本 XC_API void WINAPI XEdit_Menu_DeleteAll(HELE hEle); //清空 删除所有文本 XC_API void WINAPI XEdit_SetImageLeave(HELE hEle,HIMAGE hImage=NULL); //鼠标离开 XC_API void WINAPI XEdit_SetImageStay(HELE hEle,HIMAGE hImage=NULL); //鼠标停留 XC_API HELE WINAPI XEditFile_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API void WINAPI XEditFile_SetOpenFileType(HELE hEle,wchar_t *pType); //设置打开文件类型 XC_API void WINAPI XEditFile_SetDefaultFile(HELE hEle,wchar_t *pFile); //设置默认目录文件 XC_API void WINAPI XEditFile_SetRelativeDir(HELE hEle,wchar_t *pDir); //TODO:设置相对路径 XC_API void WINAPI XEle_RegisterEventEx(HELE hEle,int type,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); XC_API void WINAPI XEle_RegisterMessageEx(HELE hEle,int message,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //注册消息 XC_API void WINAPI XEle_RegisterMsgProcEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //注册元素消息处理过程 XC_API void WINAPI XEle_RegisterEventProcEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //注册事件拦截过滤函数 XC_API HELE WINAPI XEle_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); //创建 XC_API BOOL WINAPI XEle_Destroy(HELE hEle); //销毁 XC_API void WINAPI XEle_RegisterMessage(HELE hEle,int message,void *pFun); XC_API void WINAPI XEle_RegisterEvent(HELE hEle,int type,void *pFun); XC_API void WINAPI XEle_RegisterMsgProc(HELE hEle,pFunEleMsgProc pFun); //注册元素消息处理过程 XC_API void WINAPI XEle_RegisterEventProc(HELE hEle,pFunEleEventProc pFun); //注册元素事件处理过程 XC_API void WINAPI XEle_SetBkTransparent(HELE hEle,BOOL bTran); //设置元素背景透明 XC_API void WINAPI XEle_SetFocus(HELE hEle,BOOL bFocus); //设置焦点 XC_API void WINAPI XEle_SetId(HELE hEle,int id); XC_API void WINAPI XEle_SetFont(HELE hEle,HFONTX hFontX); XC_API HFONTX WINAPI XEle_GetFont(HELE hEle); //获取字体 XC_API BOOL WINAPI XEle_SetZOrder(HELE hEle,HELE hDestEle=NULL,int flag=XC_ZORDER_TOP,int index=NULL); XC_API void WINAPI XEle_SetBkColor(HELE hEle,COLORREF color); //设置背景颜色 XC_API COLORREF WINAPI XEle_GetBkColor(HELE hEle); //获取背景颜色 XC_API void WINAPI XEle_SetBorderColor(HELE hEle,COLORREF color); //设置边框颜色 XC_API void WINAPI XEle_SetToolTips(HELE hEle,wchar_t *pText); //设置工具提示内容 XC_API void WINAPI XEle_SetCapture(HELE hEle); //设置元素鼠标捕获 XC_API wchar_t* WINAPI XEle_GetTooltips(HELE hEle); //获取工具提示内容 XC_API HELE WINAPI XEle_GetParentEle(HELE hEle); //获取父元素句柄 XC_API int WINAPI XEle_GetChildCout(HELE hEle); //获取子元素数量 XC_API HELE WINAPI XEle_GetChildByIndex(HELE hEle,int index); //获取指定子元素 XC_API HWND WINAPI XEle_GetHWnd(HELE hEle); //获取窗口句柄 XC_API HWINDOW WINAPI XEle_GetHWindow(HELE hEle); //获取窗口资源句柄 XC_API int WINAPI XEle_GetUserData(HELE hEle); //获取用户数据 XC_API int WINAPI XEle_GetId(HELE hEle); XC_API void WINAPI XEle_ReleaseCapture(HELE hEle); //释放元素鼠标捕获 XC_API void WINAPI XEle_EnableEle(HELE hEle,BOOL bEnable); //元素是否有效 XC_API void WINAPI XEle_EnableFocus(HELE hEle,BOOL bFocus); //开启焦点 XC_API void WINAPI XEle_EnableDrawFocus(HELE hEle,BOOL bFocus); //是否绘制焦点 XC_API void WINAPI XEle_EnableToolTips(HELE hEle,BOOL bTips); //启用工具提示 XC_API void WINAPI XEle_EnableBorder(HELE hEle,BOOL bEnable); //绘制边框 XC_API void WINAPI XEle_EnableTransparentChannel(HELE hEle,BOOL bEnable); XC_API BOOL WINAPI XEle_AddEle(HELE hEle,HELE hNewEle,int flag=XC_ADDELE_END,HELE hDestEle=0,int index=0); //添加元素 XC_API void WINAPI XEle_RemoveEle(HELE hEle); //移除元素,但不销毁 XC_API void WINAPI XEle_RedrawEle(HELE hEle,BOOL bImmediately=FALSE); //重绘元素 XC_API void WINAPI XEle_RedrawRect(HELE hEle,RECT *pRect); //元素重绘指定区域 XC_API void WINAPI XEle_ShowEle(HELE hEle,BOOL bShow); XC_API BOOL WINAPI XEle_IsBkTransparent(HELE hEle); //元素背景是否透明 XC_API BOOL WINAPI XEle_IsFocus(HELE hEle); //元素是否拥有焦点 XC_API BOOL WINAPI XEle_IsShowEle(HELE hEle); //元素是否显示 XC_API BOOL WINAPI XEle_IsHitChildEle(HELE hEle,POINT *pPt); //判断是否点击在子元素上 XC_API BOOL WINAPI XEle_IsChildEle(HELE hEle,HELE hChild); //判断指定元素是否为子元素 XC_API void WINAPI XEle_SetUserData(HELE hEle,int data); //设置用户数据 XC_API UINT WINAPI XEle_SetTimerEx(HELE hEle,UINT nIDEvent,UINT uElapse,int userData=0); XC_API BOOL WINAPI XEle_KillTimerEx(HELE hEle,UINT nIDEvent); XC_API void WINAPI XEle_SetRect(HELE hEle,in_ RECT *pRect,BOOL bRedraw=FALSE); XC_API void WINAPI XEle_GetClientRect(HELE hEle,out_ RECT *pRect); //元素客户区坐标 xy(0,0) ,如果元素有边框,包含边框区域 XC_API void WINAPI XEle_GetRect(HELE hEle,out_ RECT *pRect); //基于父元素坐标 XC_API void WINAPI XEle_GetWndClientRect(HELE hEle,out_ RECT *pRect); //元素基于窗口客户区坐标(不包含非客户区) XC_API void WINAPI XEle_GetNCWndRect(HELE hEle,out_ RECT *pRect); //基于窗口非客户区坐标(包含非客户区) XC_API void WINAPI XEle_PointToParent(HELE hEle,in_out_ POINT *pPt); XC_API void WINAPI XEle_PointToWndClient(HELE hEle,in_out_ POINT *pPt); //元素坐标点转换到窗口客户区坐标点(不包含非客户区) XC_API void WINAPI XEle_PointToNCWnd(HELE hEle,in_out_ POINT *pPt); XC_API void WINAPI XEle_PointNCWndToEle(HELE hEle,in_out_ POINT *pPt); XC_API void WINAPI XEle_PointWndClientToEle(HELE hEle,in_out_ POINT *pPt); XC_API void WINAPI XEle_RectToWndClient(HELE hEle,in_out_ RECT *pRect); XC_API void WINAPI XEle_RectToNCWnd(HELE hEle,in_out_ RECT *pRect); XC_API void WINAPI XEle_SetTextColor(HELE hEle,COLORREF color); //设置文本颜色 XC_API COLORREF WINAPI XEle_GetTextColor(HELE hEle); //获取文本颜色 XC_API void WINAPI XEle_EnableMouseThrough(HELE hEle,BOOL bEnable); //启用鼠标穿透元素 XC_API void WINAPI XEle_SetAlpha(HELE hEle,int alpha); //设置元素透明度 0-255 XC_API HXCGUI WINAPI XFlash_Create(HWINDOW hWindow); XC_API void WINAPI XFlash_OpenFlashFile(HXCGUI hFlash,wchar_t *pFlashFile); XC_API void* WINAPI XFlash_GetControl(HXCGUI hFlash);//获取控件接口 XC_API void WINAPI XFlash_Destroy(HXCGUI hFlash); XC_API HFONTX WINAPI XFont_Create(int size);//创建字体 XC_API HFONTX WINAPI XFont_Create2(wchar_t *pName=L"宋体",int size=12,BOOL bBold=FALSE,BOOL bItalic=FALSE,BOOL bUnderline=FALSE,BOOL bStrikeOut=FALSE); XC_API HFONTX WINAPI XFont_CreateEx(LOGFONTW *pFontInfo); XC_API void WINAPI XFont_Destroy(HFONTX hFontX); //销毁字体 XC_API HFONT WINAPI XFont_GetHFONT(HFONTX hFontX); XC_API HWINDOW WINAPI XFrameWnd_CreateWindow(int x,int y,int cx,int cy,wchar_t *pTitle,HWND hWndParent=NULL,int XCStyle=XC_SY_DEFAULT); XC_API BOOL WINAPI XFrameWnd_AddPane(HWINDOW hWindow,HELE hPaneDest,HELE hPaneNew,align_type_ align=align_any,int scale=50); XC_API HPANE_GROUP WINAPI XFrameWnd_MergePane(HWINDOW hWindow,HELE hPaneDest,HELE hPaneNew,int proportion=50); XC_API BOOL WINAPI XFrameWnd_MergePaneToGroup(HWINDOW hWindow,HPANE_GROUP hGroup,HELE hPaneNew,int proportion=50); //窗格合并到组 XC_API void WINAPI XFrameWnd_AdjustLayout(HWINDOW hWindow,BOOL bFixedSize=FALSE); XC_API void WINAPI XFrameWnd_GetLayoutAreaRect(HWINDOW hWindow,out_ RECT *pRect); //获取客户区布局区域坐标 XC_API HELE WINAPI XFrameWnd_GetActivatePane(HWINDOW hWindow);//获取框架窗口内激活的窗格,不包含浮动窗格 XC_API HELE WINAPI XGif_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API void WINAPI XGif_SetImage(HELE hEle,wchar_t *pImageName); XC_API void WINAPI XGif_SetImageRes(HELE hEle,int id,wchar_t *pType); XC_API void WINAPI XGif_SetImageZip(HELE hEle,wchar_t *pZipFileName,wchar_t *pImageName,wchar_t *pPassword=NULL); XC_API HELE WINAPI XGBox_Create(int x, int y, int cx, int cy,wchar_t *pTitle,HXCGUI hParent=NULL); //创建 XC_API wchar_t* WINAPI XGBox_GetText(HELE hEle); XC_API void WINAPI XGBox_SetText(HELE hEle,wchar_t *pText); XC_API HIMAGE WINAPI XImage_LoadFile(wchar_t *pImageName,BOOL bStretch=FALSE);//从文件中加载图片 XC_API HIMAGE WINAPI XImage_LoadRes(int id,wchar_t *pType,BOOL bStretch=FALSE);//从资源中加载图片 XC_API HIMAGE WINAPI XImage_LoadZip(wchar_t *pZipFileName,wchar_t *pImageName,wchar_t *pPassword=NULL,BOOL bStretch=FALSE);//从ZIP中加载图片 XC_API HIMAGE WINAPI XImage_LoadFileAdaptive(wchar_t *pImageName,int x1,int x2,int y1,int y2);//从文件中加载图片 XC_API HIMAGE WINAPI XImage_LoadResAdaptive(int id,wchar_t *pType,int x1,int x2,int y1,int y2);//从资源中加载图片 XC_API HIMAGE WINAPI XImage_LoadZipAdaptive(wchar_t *pZipFileName,wchar_t *pImageName,wchar_t *pPassword,int x1,int x2,int y1,int y2);//从ZIP中加载图片 XC_API HIMAGE WINAPI XImage_LoadFileRect(wchar_t *pImageName,int x,int y,int cx,int cy); XC_API HIMAGE WINAPI XImage_LoadFileFromExtractIcon(wchar_t *pImageName); XC_API HIMAGE WINAPI XImage_LoadFileFromHICON(HICON hIcon); XC_API HIMAGE WINAPI XImage_LoadFileFromHBITMAP(HBITMAP hBitmap); XC_API BOOL WINAPI XImage_IsStretch(HIMAGE hImage); //是否拉伸图片 XC_API BOOL WINAPI XImage_IsAdaptive(HIMAGE hImage); //是否为自适应图片 XC_API BOOL WINAPI XImage_IsTile(HIMAGE hImage); //是否为平铺图片 XC_API BOOL WINAPI XImage_SetDrawType(HIMAGE hImage,int type);//设置图片绘制类型 XC_API BOOL WINAPI XImage_SetDrawTypeAdaptive(HIMAGE hImage,int x1,int x2,int y1,int y2);//设置图片自适应 XC_API void WINAPI XImage_SetTranColor(HIMAGE hImage,COLORREF color); //设置透明色 XC_API void WINAPI XImage_SetTranColorEx(HIMAGE hImage,COLORREF color,byte tranColor); //设置透明色 XC_API void WINAPI XImage_EnableTranColor(HIMAGE hImage,BOOL bEnable); //启用透明色 XC_API void WINAPI XImage_EnableAutoDestroy(HIMAGE hImage,BOOL bEnable); //启用或关闭自动销毁,当与UI元素关联时有效 XC_API int WINAPI XImage_GetDrawType(HIMAGE hImage); XC_API int WINAPI XImage_GetWidth(HIMAGE hImage); XC_API int WINAPI XImage_GetHeight(HIMAGE hImage); XC_API void WINAPI XImage_Destroy(HIMAGE hImage); XC_API HXCGUI WINAPI XImageList_Create(int cx,int cy); XC_API void WINAPI XImageList_Destroy(HXCGUI hImageList); //销毁 XC_API void WINAPI XImageList_AddImage(HXCGUI hImageList,HIMAGE hImage); //添加图片 XC_API int WINAPI XImageList_GetWidth(HXCGUI hImageList); //获取图片宽度 XC_API int WINAPI XImageList_GetHeight(HXCGUI hImageList); //获取图片高度 XC_API int WINAPI XImageList_GetCount(HXCGUI hImageList); //获取图片数量 XC_API HIMAGE WINAPI XImageList_GetImage(HXCGUI hImageList,int index); //获取图片 XC_API void WINAPI XImageList_DeleteIndex(HXCGUI hImageList,int index); //删除指定图片 XC_API void WINAPI XImageList_DeleteAll(HXCGUI hImageList); //删除全部图片 XC_API void WINAPI XImageList_DrawImage(HXCGUI hImageList,HDRAW hDraw,int index, int x, int y); XC_API void WINAPI XImageList_DrawImage2(HXCGUI hImageList,HDRAW hDraw,int index, RECT *pRect); XC_API void WINAPI XImageList_EnableFixedSize(HXCGUI hImageList,BOOL bEnable); //绘制固定大小 Fixed-size XC_API BOOL WINAPI XImageList_IsFixedSize(HXCGUI hImageList); XC_API void WINAPI XList_SetUserDrawItemEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘列表项 XC_API void WINAPI XList_SetUserDrawItemHeaderEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘列表头项 XC_API HELE WINAPI XList_Create(int x,int y,int cx,int cy,HXCGUI hParent=NULL); XC_API int WINAPI XList_AddColumn(HELE hEle,int width,wchar_t *pText,int imageId=-1); //增加列 XC_API int WINAPI XList_AddItem(HELE hEle,wchar_t *pText, int imageId=-1); //增加项 XC_API BOOL WINAPI XList_InsertColumn(HELE hEle,int index,int width,wchar_t *pText,int imageId=-1); //插入列 XC_API BOOL WINAPI XList_InsertItem(HELE hEle,int index,wchar_t *pText,int imageId=-1); //插入项 XC_API BOOL WINAPI XList_SetItemText(HELE hEle,int item,int subItem,wchar_t *pText,int imageId=-1); //设置子项 XC_API BOOL WINAPI XList_SetColumnWidth(HELE hEle,int index, int width); //设置列宽 XC_API BOOL WINAPI XList_SetItemImage(HELE hEle,int item,int subItem,int imageId); //设置子项图片 XC_API void WINAPI XList_SetImageList(HELE hEle,HXCGUI hImageList); //设置图片列表 XC_API void WINAPI XList_SetItemHeight(HELE hEle,int height); //设置项高度 XC_API void WINAPI XList_SetHeaderHeight(HELE hEle,int height); //设置列表头高度 XC_API BOOL WINAPI XList_SetSelectItem(HELE hEle,int index); //设置选择项 XC_API void WINAPI XList_SetSelectItemAll(HELE hEle); //全选 XC_API void WINAPI XList_SetSpacingLeft(HELE hEle,int spacing); //设置内容左间距 XC_API void WINAPI XList_SetSpacingRight(HELE hEle,int spacing); //设置内容右间距 XC_API void WINAPI XList_SetItemData(HELE hEle,int index,int data); //设置用户数据 XC_API BOOL WINAPI XList_SetItemBindEle(HELE hEle,int item,int subItem,itemBindEle_ *pInfo); //绑定元素 XC_API void WINAPI XList_SetColumnMinWidth(HELE hEle,int index,int minWidth); //设置列最小宽度 XC_API int WINAPI XList_GetHeaderHeight(HELE hEle); //获取列表头高度 XC_API wchar_t* WINAPI XList_GetHeaderItemText(HELE hEle,int index); //获取列表头项文本 XC_API int WINAPI XList_GetColumnWidth(HELE hEle,int index); //获取列宽 XC_API int WINAPI XList_GetSpacingLeft(HELE hEle); //获取内容左间距 XC_API int WINAPI XList_GetSpacingRight(HELE hEle); //获取内容右间距 XC_API HXCGUI WINAPI XList_GetImageList(HELE hEle); //获取图片列表 XC_API wchar_t* WINAPI XList_GetItemText(HELE hEle,int index, int subItem); //获取项文本 XC_API int WINAPI XList_GetItemImage(HELE hEle,int item,int subItem); //获取子项图片 XC_API int WINAPI XList_GetItemHeight(HELE hEle); //获取项高 XC_API int WINAPI XList_GetItemData(HELE hEle,int index); //设置用户数据 XC_API int WINAPI XList_GetSelectCount(HELE hEle); //获取选择项数量 XC_API int WINAPI XList_GetSelectItem(HELE hEle); //获取选择项 XC_API int WINAPI XList_GetSelectAllItem(HELE hEle,out_ int *pArray, int arrayLength); //获取所有选择项 XC_API int WINAPI XList_GetItemCount(HELE hEle); //获取项数量 XC_API BOOL WINAPI XList_GetHeaderItemRect(HELE hEle,int item,out_ RECT *pRect); //获取列表头项坐标 XC_API BOOL WINAPI XList_GetSubItemRect(HELE hEle,int item,int sub,out_ RECT *pRect);//获取子项坐标 XC_API BOOL WINAPI XList_GetItemCheckRect(HELE hEle,int item,out_ RECT *pRect); //获取复选按钮坐标 XC_API int WINAPI XList_GetItemBindEleCount(HELE hEle,int item,int subItem); XC_API BOOL WINAPI XList_GetItemBindEleInfo(HELE hEle,int item,int subItem,out_ itemBindEle_ *pInfo,int index);//获取绑定项信息 XC_API void WINAPI XList_CancelSelectAll(HELE hEle); //取消选择所有项 XC_API void WINAPI XList_CancelSelect(HELE hEle,int index); //取消选择指定项 XC_API BOOL WINAPI XList_DeleteItem(HELE hEle,int index); //删除项 XC_API BOOL WINAPI XList_DeleteColumn(HELE hEle,int index); //删除列 XC_API void WINAPI XList_DeleteAllItems(HELE hEle); //删除所有项 XC_API void WINAPI XList_DeleteAllColumns(HELE hEle); //删除所有列 XC_API void WINAPI XList_EnableGrid(HELE hEle,BOOL bGrid); //启用网格样式 XC_API int WINAPI XList_HitTest(HELE hEle,POINT *pPt); //测试鼠标点在哪个项上,-1没有在任何项上 XC_API BOOL WINAPI XList_HitTestEx(HELE hEle,POINT *pPt,out_ int *item,out_ int *sub); //测试鼠标点在哪个项上及子项,-1没有在任何项上 XC_API void WINAPI XList_ShowHeader(HELE hEle,BOOL bShow);//显示隐藏列表头 XC_API void WINAPI XList_SetUserDrawItem(HELE hEle,pFunList_DrawItem pFunDrawItem); //设置用户自绘列表项 XC_API void WINAPI XList_SetUserDrawItemHeader(HELE hEle,pFunListHeader_DrawItem pFunDrawItem); //设置用户自绘列表头项 XC_API void WINAPI XList_EnableCheckBox(HELE hEle,BOOL bEnable); //启用复选框 XC_API void WINAPI XList_EnableMultilineSelect(HELE hEle,BOOL bEnable); //启用关闭多行选择 XEdit_EnableMultiLine XC_API void WINAPI XLsit_EnableLineHighlight(HELE hEle,BOOL bEnable); //启用或关闭行高亮显示 XC_API BOOL WINAPI XList_IsItemCheck(HELE hEle,int index); //判断项的复选框是否勾选 XC_API void WINAPI XList_SetItemCheck(HELE hEle,int index, BOOL bCheck); //设置项的复选框 XC_API void WINAPI XListBox_SetUserDrawItemEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘列表框项 XC_API HELE WINAPI XListBox_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API int WINAPI XListBox_AddString(HELE hEle,wchar_t *pText,int imageId=-1); //增加一个字符串到列表 XC_API BOOL WINAPI XListBox_InsertString(HELE hEle,int index,wchar_t *pText,int imageId=-1); //插入项 XC_API void WINAPI XListBox_EnableCheckBox(HELE hEle,BOOL bEnable); //启用复选框 XC_API void WINAPI XLsitBox_EnableLineHighlight(HELE hEle,BOOL bEnable); //启用或关闭行高亮显示 XC_API wchar_t* WINAPI XListBox_GetItemText(HELE hEle,int index); //获取指定行文本 XC_API int WINAPI XListBox_GetItemHeight(HELE hEle); //获取行高 XC_API int WINAPI XListBox_GetSelectItem(HELE hEle); //获取选择行 XC_API int WINAPI XListBox_GetItemImage(HELE hEle,int index); //获取项图标ID XC_API int WINAPI XListBox_GetItemCount(HELE hEle); //获取项数量 XC_API HXCGUI WINAPI XListBox_GetImageList(HELE hEle); //获取图片列表 XC_API BOOL WINAPI XListBox_GetItemRect(HELE hEle,in_ int index,out_ RECT *pRect); //获取项坐标... XC_API int WINAPI XListBox_HitTest(HELE hEle,POINT *pPt); //测试鼠标点在哪个项上,-1没有在任何项上 XC_API int WINAPI XListBox_GetItemData(HELE hEle,int index); //获取项绑定数据 XC_API void WINAPI XListBox_SetItemText(HELE hEle,int index, wchar_t *pText); //设置指定行文本 XC_API void WINAPI XListBox_SetSelectItem(HELE hEle,int index); //设置选择行 XC_API void WINAPI XListBox_SetItemHeight(HELE hEle,int height); //设置行高 XC_API void WINAPI XListBox_SetImageList(HELE hEle,HXCGUI hImageList); //设置图标列表 XC_API void WINAPI XListBox_SetItemImage(HELE hEle,int index,int imageId); //设置项图标ID XC_API void WINAPI XListBox_SetItemCheck(HELE hEle,int index, BOOL bCheck); //设置项的复选框 XC_API BOOL WINAPI XListBox_SetItemBindEle(HELE hEle,int index,itemBindEle_ *pInfo); //绑定元素 XC_API void WINAPI XListBox_SetItemData(HELE hEle,int index,int data); //设置项绑定数据 XC_API void WINAPI XListBox_SetSelectItemColor(HELE hEle,COLORREF color); //设置选择项颜色 XC_API void WINAPI XListBox_SetItemMouseStayColor(HELE hEle,COLORREF color);//设置鼠标停留高亮项颜色 XC_API void WINAPI XListBox_DeleteItem(HELE hEle,int index); //删除行 XC_API void WINAPI XListBox_DeleteAll(HELE hEle); //删除所有行 XC_API BOOL WINAPI XListBox_IsItemCheck(HELE hEle,int index); //判断项的复选框是否勾选 XC_API void WINAPI XListBox_Adjust(HELE hEle); XC_API void WINAPI XListBox_SetUserDrawItem(HELE hEle,pFunListBox_DrawItem pFunDrawItem); //设置用户自绘列表框项 XC_API void WINAPI XListView_SetUserDrawItemEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘项 XC_API void WINAPI XListView_SetUserDrawGroupEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘组 XC_API HELE WINAPI XListView_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API int WINAPI XListView_AddItem(HELE hEle,wchar_t *pName,int imageID=-1,int groupIndex=-1); //增加项 XC_API int WINAPI XListView_AddGroup(HELE hEle,wchar_t *pName,BOOL bExpand=TRUE); //增加组 XC_API int WINAPI XListView_InsertItem(HELE hEle,int groupIndex,int itemIndex,wchar_t *pName,int imageID=-1); //插入项 XC_API int WINAPI XListView_InsertGroup(HELE hEle,int groupIndex,wchar_t *pName,BOOL bExpand=TRUE); //插入组 XC_API void WINAPI XListView_SetImageList(HELE hEle,HXCGUI hImageList); XC_API BOOL WINAPI XListView_SetItemData(HELE hEle,int groupIndex, int itemIndex,int data); //设置项绑定数据 XC_API BOOL WINAPI XListView_SetGroupData(HELE hEle,int groupIndex,int data); //设置组绑定数据 XC_API BOOL WINAPI XListView_SetSelectItem(HELE hEle,int goupIndex,int itemIndex,BOOL bSelect);//设置选择项 XC_API BOOL WINAPI XListView_SetItemText(HELE hEle,int groupIndex,int itemIndex,wchar_t *pText);//设置项文本 XC_API BOOL WINAPI XListView_SetGroupText(HELE hEle,int groupIndex,wchar_t *pText);//设置组文本 XC_API BOOL WINAPI XListView_SetItemIcon(HELE hEle,int groupIndex,int itemIndex,int imageID);//设置项图标ID XC_API void WINAPI XListView_SetIconSize(HELE hEle,int cx,int cy); //设置图标区域大小,并不是图标的大小. XC_API void WINAPI XListView_SetItemBorderSpacing(HELE hEle,int left,int top,int right,int bottom); //设置项边间隔 XC_API void WINAPI XListView_SetColumnSpacing(HELE hEle,int width); //设置项列间隔 XC_API void WINAPI XListView_SetRowSpacing(HELE hEle,int height); //设置项行间隔 XC_API void WINAPI XListView_SetItemIconTextSpacing(HELE hEle,int height); //设置图标与文本间隔 XC_API void WINAPI XListView_SetViewLeftAlign(HELE hEle,int size); //设置视图左对齐 XC_API void WINAPI XListView_SetViewTopAlign(HELE hEle,int size); //设置视图上对齐 XC_API void WINAPI XListView_SetGroupHeight(HELE hEle,int height); //设置组高度 XC_API void WINAPI XListView_GetIconSize(HELE hEle,out_ SIZE *pSize); //获取图标区域大小,并不是图标的大小. XC_API int WINAPI XListView_GetItemBorderLeft(HELE hEle); //获取项边间隔 XC_API int WINAPI XListView_GetItemBorderTop(HELE hEle); XC_API int WINAPI XListView_GetItemBorderRight(HELE hEle); XC_API int WINAPI XListView_GetItemBorderBottom(HELE hEle); XC_API int WINAPI XListView_GetColumnSpacing(HELE hEle); //获取项列间隔 XC_API int WINAPI XListView_GetRowSpacing(HELE hEle); //获取项行间隔 XC_API int WINAPI XListView_GetItemIconTextSpacing(HELE hEle); //获取图标与文本间隔 XC_API int WINAPI XListView_GetViewLeftAlign(HELE hEle); //获取视图左对齐 XC_API int WINAPI XListView_GetViewTopAlign(HELE hEle); //获取视图上对齐 XC_API int WINAPI XListView_GetGroupHeight(HELE hEle); //获取组高度 XC_API void WINAPI XListView_GetSelectItem(HELE hEle,out_ int *pGroupIndex,out_ int *pItemIndex); //获取选择项 XC_API int WINAPI XListView_GetSelectCount(HELE hEle); //获取选择项数量 XC_API int WINAPI XListView_GetSelectAllItem(HELE hEle,int *pArrayGroupIndex,int *pArrayItemIndex,int arrayLength); //获取所有选择项 XC_API int WINAPI XListView_GetGroupCount(HELE hEle); //获取组数量 XC_API int WINAPI XListView_GetGroupMemberCount(HELE hEle,int groupIndex); //获取组成员数量 XC_API int WINAPI XListView_GetUngroupMemberCount(HELE hEle);//获取未分组项数量 XC_API HXCGUI WINAPI XListView_GetImageList(HELE hEle); //获取图片列表 XC_API BOOL WINAPI XListView_GetItemRect(HELE hEle,int groupIndex,int itemIndex,out_ RECT *pRect); //获取项坐标 XC_API BOOL WINAPI XListView_GetItemIconRect(HELE hEle,int groupIndex,int itemIndex,out_ RECT *pRect);//获取项图标坐标 XC_API BOOL WINAPI XListView_GetItemTextRect(HELE hEle,int groupIndex,int itemIndex,out_ RECT *pRect); //获取项文本坐标 XC_API wchar_t* WINAPI XListView_GetItemText(HELE hEle,int groupIndex,int itemIndex);//获取项文本 XC_API int WINAPI XListView_GetItemIcon(HELE hEle,int groupIndex,int itemIndex);//获取项图标ID XC_API wchar_t* WINAPI XListView_GetGroupText(HELE hEle,int groupIndex);//获取组文本 XC_API BOOL WINAPI XListView_GetGroupRect(HELE hEle,int groupIndex,out_ RECT *pRect);//获取组坐标 XC_API int WINAPI XListView_GetItemData(HELE hEle,int groupIndex,int itemIndex); //获取项绑定数据 XC_API int WINAPI XListView_GetGroupData(HELE hEle,int groupIndex); //获取组绑定数据 XC_API BOOL WINAPI XListView_DeleteItem(HELE hEle,int groupIndex,int itemIndex); //删除项 XC_API BOOL WINAPI XListView_DeleteGroup(HELE hEle,int groupIndex); //删除组 XC_API void WINAPI XListView_DeleteAllGroups(HELE hEle); //删除所有组 XC_API void WINAPI XListView_DeleteAll(HELE hEle); //删除所有,清空数据 XC_API int WINAPI XListView_IsItemSelect(HELE hEle,int groupIndex,int itemIndex);//检查项是否被选择 XC_API BOOL WINAPI XListView_HitTest(HELE hEle,POINT *pPt,out_ int *pGroupIndex,out_ int *pItemIndex);//测试用户点击,组,项 XC_API int WINAPI XListView_IsGroupExpand(HELE hEle,int groupIndex);//判断组是否展开 XC_API BOOL WINAPI XListView_SetGroupExpand(HELE hEle,int groupIndex,BOOL bExpand); //展开指定组 XC_API void WINAPI XListView_EnableMultiSelect(HELE hEle,BOOL bEnable); //启用关闭多项选择 XC_API void WINAPI XListView_EnableExpandButton(HELE hEle,BOOL bEnable); //启用/关闭展开按钮 XC_API void WINAPI XListView_EnableDragItem(HELE hEle,BOOL bEnable); //启用或关闭拖动项功能 XC_API void WINAPI XListView_CancelSelectItem(HELE hEle,int groupIndex,int itemIndex); //取消选择指定项 XC_API void WINAPI XListView_CancelSelectAll(HELE hEle); //取消选择所有项 XC_API void WINAPI XListView_SetUserDrawItem(HELE hEle,pFunListView_DrawItem pFunDrawItem); //设置用户自绘项 XC_API void WINAPI XListView_SetUserDrawGroup(HELE hEle,pFunListView_DrawGroup pFunDrawGroup); //设置用户自绘组 XC_API void WINAPI XListView_SetItemImageSelect(HELE hEle,int groupIndex,int itemIndex,HIMAGE hImage); XC_API void WINAPI XListView_SetItemImageStay(HELE hEle,int groupIndex,int itemIndex,HIMAGE hImage); XC_API void WINAPI XListView_Adjust(HELE hEle); //调整布局 XC_API void WINAPI XMenu_SetUserDrawItemEx(HMENUX hMenu,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘菜单项 XC_API void WINAPI XMenu_SetUserDrawBGEx(HMENUX hMenu,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘菜背景 XC_API void WINAPI XMenu_SetUserUpdateUIEx(HMENUX hMenu,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); XC_API HMENUX WINAPI XMenu_Create(); XC_API void WINAPI XMenu_AddItem(HMENUX hMenu,int id,wchar_t *pText,int parentId=XMENU_ROOT,int uFlags=0); //添加菜单项 XC_API void WINAPI XMenu_AddItemImage(HMENUX hMenu,int id,wchar_t *pText,int parentId,int uFlags,HIMAGE hImage); XC_API void WINAPI XMenu_InsertItem(HMENUX hMenu,int id,wchar_t *pText,int uFlags,int insertID); XC_API void WINAPI XMenu_InsertItemImage(HMENUX hMenu,int id,wchar_t *pText,int uFlags,int insertID,HIMAGE hImage); XC_API void WINAPI XMenu_DeleteItem(HMENUX hMenu,int id); XC_API void WINAPI XMenu_SetAutoDestroy(HMENUX hMenu,BOOL bAuto); //是否自动销毁对象,默认弹出菜单关闭后自动销毁 XC_API void WINAPI XMenu_SetItemHeight(HMENUX hMenu,int height); //设置菜单项高度 XC_API BOOL WINAPI XMenu_SetBGImage(HMENUX hMenu,HIMAGE hImage);//设置菜单背景图片 XC_API BOOL WINAPI XMenu_SetItemImage(HMENUX hMenu,int id,HIMAGE hImage); //设置项图标 XC_API BOOL WINAPI XMenu_SetItemText(HMENUX hMenu,int id,wchar_t *pText); //设置项文本 XC_API void WINAPI XMenu_SetItemFlags(HMENUX hMenu,int id,int uFlags); //设置项属性 XC_API void WINAPI XMenu_SetItemCheck(HMENUX hMenu,int id,BOOL bCheck); XC_API BOOL WINAPI XMenu_IsItemCheck(HMENUX hMenu,int id); XC_API int WINAPI XMenu_GetItemFlags(HMENUX hMenu,int id); //获取项属性 XC_API int WINAPI XMenu_GetItemHeight(HMENUX hMenu); //获取菜单项高度 XC_API int WINAPI XMenu_GetItemCount(HMENUX hMenu); //获取菜单项数量,包含子菜单项 XC_API wchar_t* WINAPI XMenu_GetItemText(HMENUX hMenu,int id); //获取菜单项文本 XC_API int WINAPI XMenu_GetItemLeftWidth(HMENUX hMenu); //获取左侧宽度 XC_API int WINAPI XMenu_GetItemLeftText(HMENUX hMenu); //获取菜单项文本左间隔 XC_API BOOL WINAPI XMenu_Popup(HMENUX hMenu,HWND hParentWnd,int x,int y,HELE hParentEle=NULL,int uFlags=NULL); //弹出菜单 XC_API void WINAPI XMenu_Destroy(HMENUX hMenu); XC_API void WINAPI XMenu_CloseMenu(HMENUX hMenu); XC_API void WINAPI XMenu_SetUserDrawItem(HMENUX hMenu,pFunMenu_DrawItem pFunDrawItem); //设置用户自绘项 XC_API void WINAPI XMenu_SetUserDrawBG(HMENUX hMenu,pFunMenu_DrawBG pFunDrawBG); //设置用户自绘菜单背景 XC_API void WINAPI XMenu_SetUserUpdateUI(HMENUX hMenu,pFunMenu_UpdateUI pUpdateUI); XC_API HELE WINAPI XMenuBar_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); //创建按钮 XC_API int WINAPI XMenuBar_AddButton(HELE hEle,wchar_t *pText); //增加弹出菜单按钮 XC_API int WINAPI XMenuBar_InsertButton(HELE hEle,wchar_t *pText,int index); //插入弹出菜单按钮 XC_API void WINAPI XMenuBar_AddMenuItem(HELE hEle,int index,int id,wchar_t *pText,int parentId=XMENU_ROOT,int uFlags=0); XC_API void WINAPI XMenuBar_AddMenuItemImage(HELE hEle,int index,int id,wchar_t *pText,int parentId,int uFlags,HIMAGE hImage); //增加菜单项 XC_API void WINAPI XMenuBar_InsertMenuItem(HELE hEle,int index,int id,wchar_t *pText,int uFlags,int insertID); //插入菜单项,插入到ID为insertID菜单项前面位置 XC_API void WINAPI XMenuBar_InsertMenuItemImage(HELE hEle,int index,int id,wchar_t *pText,int uFlags,int insertID,HIMAGE hImage); //增加菜单项 XC_API void WINAPI XMenuBar_DeleteMenuItem(HELE hEle,int index,int id); //删除菜单项 XC_API void WINAPI XMenuBar_SetButtonHeight(HELE hEle,int height); //设置弹出菜单按钮高度 XC_API HELE WINAPI XMenuBar_GetButton(HELE hEle,int index); //获取弹出菜单按钮句柄 XC_API HMENUX WINAPI XMenuBar_GetMenu(HELE hEle,int index); //获取菜单句柄 XC_API void WINAPI XMenuBar_DeleteButton(HELE hEle,int index); //删除菜单项并且销毁,同时该按钮下的弹出菜单也被销毁 XC_API void WINAPI XMenuBar_SetImage(HELE hEle,HIMAGE hImage=NULL); XC_API HWINDOW WINAPI XModalWnd_CreateWindow(int width,int height,wchar_t *pTitle,HWND hWndParent,int XCStyle=XC_SY_MODAL_WINDOW);//基于父窗口坐标 XC_API int WINAPI XModalWnd_DoModal(HWINDOW hWindow); //启动模态窗口 XC_API void WINAPI XModalWnd_DoOk(HWINDOW hWindow); //确定 XC_API void WINAPI XModalWnd_DoCancel(HWINDOW hWindow); //取消 XC_API int WINAPI XMessageBox(HXCGUI hXCGUI, wchar_t *pText, wchar_t *pCaption=L"炫彩界面库-提示框",int type=XMB_OK); XC_API HELE WINAPI XMonthCal_Create(int x, int y,int cx,int cy,HXCGUI hParent=NULL); XC_API void WINAPI XMonthCal_SetSpacingLeft(HELE hEle,int left); //左对齐间距 XC_API void WINAPI XMonthCal_SetSpacingTop(HELE hEle,int top); //上对齐间距 XC_API void WINAPI XMonthCal_SetDate(HELE hEle,int year,int month,int day); //设置时间 XC_API int WINAPI XMonthCal_GetYear(HELE hEle); XC_API int WINAPI XMonthCal_GetMonth(HELE hEle); XC_API int WINAPI XMonthCal_GetDay(HELE hEle); XC_API HELE WINAPI XDateTime_Create(int x, int y,int cx,int cy,HXCGUI hParent=NULL); XC_API void WINAPI XDateTime_SetDate(HELE hEle,int year,int month,int day); //设置时间 XC_API int WINAPI XDateTime_GetYear(HELE hEle); XC_API int WINAPI XDateTime_GetMonth(HELE hEle); XC_API int WINAPI XDateTime_GetDay(HELE hEle); XC_API HELE WINAPI XDateTime_GetButton(HELE hEle); //获取下拉按钮 XC_API void WINAPI XDateTime_SetImage(HELE hEle,HIMAGE hImage); XC_API HELE WINAPI XOutlook_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API void WINAPI XOutlook_AddView(HELE hEle,HELE hView,wchar_t *pTitle); XC_API void WINAPI XOutlook_Adjust(HELE hEle); XC_API void WINAPI XOutlook_Expand(HELE hEle,int index); //展开指定项 XC_API int WINAPI XOutlook_GetExpand(HELE hEle); //获取当前展开的项索引 XC_API HELE WINAPI XPane_Create(wchar_t *pTitle=NULL,HWINDOW hFrameWnd=NULL); //创建按钮 XC_API wchar_t* WINAPI XPane_GetTitle(HELE hEle); XC_API void WINAPI XPane_Hide(HELE hEle); //隐藏窗格 XC_API void WINAPI XPane_Dock(HELE hEle); //停靠窗格,自动隐藏 XC_API void WINAPI XPane_Lock(HELE hEle); //锁定窗格 XC_API void WINAPI XPane_popup(HELE hEle); //弹出窗格,当在码头上 XC_API void WINAPI XPane_Show(HELE hEle); //隐藏-显示浮动窗格 XC_API HPANE_GROUP WINAPI XPane_GetGroup(HELE hEle); //获取窗格所属组,如果没有组返回空 XC_API BOOL WINAPI XPane_Destroy(HELE hEle); //销毁窗格 XC_API pane_state_ WINAPI XPane_GetState(HELE hEle); //获取状态 XC_API void WINAPI XPane_DragPane(HELE hEle,POINT *pPtDown); //拖动窗格 XC_API void WINAPI XPane_DragGroup(HELE hEle,POINT *pPtDown);//拖动窗格组 XC_API void WINAPI XPane_FloatPane(HELE hEle); //浮动窗格 XC_API void WINAPI XPane_SetView(HELE hEle,HELE hView); XC_API void WINAPI XPane_SetToolBar(HELE hEle,HELE hToolBar); //设置工具条 XC_API void WINAPI XPane_SetMenuBar(HELE hEle,HELE hMenuBar); //设置菜单条 XC_API void WINAPI XPane_SetSpacing(HELE hEle,int left, int top, int right, int bottom); XC_API void WINAPI XPane_SetFixedSize(HELE hEle,BOOL bFixedSize); //设置窗格固定大小,如果为FALSE非固定大小 XC_API void WINAPI XPane_SetTitle(HELE hEle,wchar_t *pTitle); XC_API void WINAPI XPane_SetActivate(HELE hEle,BOOL bActivate); //激活窗格 XC_API BOOL WINAPI XPane_IsActivate(HELE hEle); //判断窗格是否激活,当窗格在框架内有效 XC_API void WINAPI XPane_SetCaptionHeight(HELE hEle,int height);//设置标题栏高度 XC_API int WINAPI XPane_GetCaptionHeight(HELE hEle);//获取标题栏高度 XC_API HELE WINAPI XPane_GetButtonClose(HELE hEle); //获取关闭按钮 XC_API HELE WINAPI XPane_GetButtonLock(HELE hEle); //获取锁定按钮 XC_API HELE WINAPI XPane_GetButtonMenu(HELE hEle); //获取菜单按钮 XC_API void WINAPI XFloatWnd_EnableLock(HWINDOW hWindow,BOOL bEnable); //启用关闭锁定功能,当关闭锁定功能后,用户拖动浮动窗格不能锁定到框架窗口中 XC_API HELE WINAPI XPic_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API void WINAPI XPic_SetImage(HELE hEle,HIMAGE hImage); //设置图片 XC_API HELE WINAPI XProgBar_Create(int x, int y, int cx, int cy,BOOL bHorizon,HXCGUI hParent=NULL); XC_API void WINAPI XProgBar_SetRange(HELE hEle,int range); //设置范围 XC_API void WINAPI XProgBar_SetPos(HELE hEle,int pos); //设置当前位置 XC_API int WINAPI XProgBar_GetRange(HELE hEle); XC_API int WINAPI XProgBar_GetPos(HELE hEle); XC_API void WINAPI XProgBar_SetHorizon(HELE hEle,BOOL bHorizon); //水平显示或垂直 XC_API void WINAPI XProgBar_EnablePercent(HELE hEle,BOOL bPercent); //显示百分比 XC_API void WINAPI XProgBar_SetImage(HELE hEle,HIMAGE hImage); //背景 XC_API void WINAPI XProgBar_SetImage2(HELE hEle,HIMAGE hImage); //显示当前进度图片 XC_API HELE WINAPI XPGrid_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API int WINAPI XPGrid_AddGroup(HELE hEle,wchar_t *pName,BOOL bExpand=TRUE); //添加分组 XC_API int WINAPI XPGrid_AddItem(HELE hEle,wchar_t *pName,int type,int groupID=-1); //添加项 XC_API int WINAPI XPGrid_AddItemString(HELE hEle,wchar_t *pName,wchar_t *pValue,int groupID=-1); //添加项 XC_API HELE WINAPI XPGrid_GetItemHEle(HELE hEle,int itemID); XC_API BOOL WINAPI XPGrid_SetItemString(HELE hEle,int itemID,wchar_t *pText); XC_API BOOL WINAPI XPGrid_SetItemColor(HELE hEle,int itemID,COLORREF color); XC_API void WINAPI XPGrid_GetItemValue(HELE hEle,int itemID,wchar_t *pOut,int len); XC_API void WINAPI XPGrid_DeleteItem(HELE hEle,int itemID); //删除项 XC_API void WINAPI XPGrid_DeleteGroup(HELE hEle,int groupID); //删除组 XC_API void WINAPI XPGrid_DeleteAll(HELE hEle); //删除所有 XC_API void WINAPI XPGrid_SetSpacePoint(HELE hEle,int point);//设置分隔线基于X坐标位置 XC_API int WINAPI XPGrid_GetSelectItem(HELE hEle); //获取当前选择项 XC_API void WINAPI XPGrid_Adjust(HELE hEle); //调整布局 XC_API HELE WINAPI XPPage_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API int WINAPI XPPage_AddLabel(HELE hEle,wchar_t *pName,HELE hPage=NULL); //添加一个标签 XC_API int WINAPI XPPage_InsertLabel(HELE hEle,int index,wchar_t *pName,HELE hPage=NULL); XC_API void WINAPI XPPage_Adjust(HELE hEle); XC_API BOOL WINAPI XPPage_SetBindEle(HELE hEle,int index,HELE hPage); //绑定视图元素到标签 XC_API void WINAPI XPPage_SetLabelHeight(HELE hEle,int height); //设置标签高度 XC_API void WINAPI XPPage_SetLabelWidth(HELE hEle,int index,int width); //设置标签宽度 XC_API void WINAPI XPPage_SetSelect(HELE hEle,int index,BOOL reDraw=TRUE); //设置选择标签 XC_API void WINAPI XPPage_SetLabelText(HELE hEle,int index,wchar_t *pText); //设置标签文本 XC_API void WINAPI XPPage_SetLabelSpacing(HELE hEle,int spacing);//设置标签间距, 0没有间距 XC_API void WINAPI XPPage_SetUp(HELE hEle); //左滚动 XC_API void WINAPI XPPage_SetDown(HELE hEle); //右滚动 XC_API int WINAPI XPPage_GetSelect(HELE hEle); //获取选择的标签 XC_API int WINAPI XPPage_GetLabelHeight(HELE hEle); //获取标签高度 XC_API int WINAPI XPPage_GetLabelWidth(HELE hEle,int index); //获取标签宽度 XC_API int WINAPI XPPage_GetLabelCount(HELE hEle); //获取标签项数量 XC_API wchar_t * WINAPI XPPage_GetLabelText(HELE hEle,int index); //获取文本 XC_API HELE WINAPI XPPage_GetLabel(HELE hEle,int index);//获取标签按钮Button XC_API HELE WINAPI XPPage_GetLabelPage(HELE hEle,int index);//获取标签对应的页 XC_API int WINAPI XPPage_GetPageIndex(HELE hEle,HELE hPage); //检索绑定页对应标签索引 XC_API int WINAPI XPPage_GetLabelIndex(HELE hEle,HELE hLabel); //获取属性页标签按钮元素位置索引值 XC_API int WINAPI XPPage_GetLabelSpacing(HELE hEle);//获取标签间距, 0没有间距 XC_API void WINAPI XPPage_DeleteLabel(HELE hEle,int index,BOOL deletePage=FALSE); //删除 XC_API void WINAPI XPPage_DeleteLabelAll(HELE hEle,BOOL deletePage=FALSE); //删除所有TAB XC_API void WINAPI XPPage_EnableScrollButton(HELE hEle,BOOL bEnable); //是否显示滚动按钮 XC_API HELE WINAPI XRadio_Create(int x, int y, int cx, int cy,wchar_t *pTitle=NULL,HXCGUI hParent=NULL); //创建按钮 XC_API void WINAPI XRadio_SetImageLeave_UnCheck(HELE hEle,HIMAGE hImage=NULL); //鼠标离开时图片 未选择 XC_API void WINAPI XRadio_SetImageStay_UnCheck(HELE hEle,HIMAGE hImage=NULL); //鼠标停留时图片 未选择 XC_API void WINAPI XRadio_SetImageDown_UnCheck(HELE hEle,HIMAGE hImage=NULL); //鼠标按下时图片 未选择 XC_API void WINAPI XRadio_SetImageDisable_UnCheck(HELE hEle,HIMAGE hImage=NULL); //按钮禁用状态图片 未选择 XC_API void WINAPI XRadio_SetImageLeave_Check(HELE hEle,HIMAGE hImage=NULL); //鼠标离开时图片 选择 XC_API void WINAPI XRadio_SetImageStay_Check(HELE hEle,HIMAGE hImage=NULL); //鼠标停留时图片 选择 XC_API void WINAPI XRadio_SetImageDown_Check(HELE hEle,HIMAGE hImage=NULL); //鼠标按下时图片 选择 XC_API void WINAPI XRadio_SetImageDisable_Check(HELE hEle,HIMAGE hImage=NULL); //按钮禁用状态图片 选择 XC_API void WINAPI XRadio_SetGroupID(HELE hEle,int groupID); //设置组ID XC_API int WINAPI XRadio_GetGroupID(HELE hEle); //获取组ID XC_API void WINAPI XRadio_EnableButtonStyle(HELE hEle,BOOL bStyle); //启用按钮样式 XC_API void WINAPI XRadio_SetBindEle(HELE hEle,HELE bindEle); XC_API HELE WINAPI XRichEdit_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API BOOL WINAPI XRichEdit_InsertText(HELE hEle,wchar_t *pText,int row,int column); //插入文本内容 XC_API BOOL WINAPI XRichEdit_InsertTextEx(HELE hEle,wchar_t *pText,int row,int column,LOGFONTW *pFont,BOOL bColor=FALSE,COLORREF color=0); XC_API BOOL WINAPI XRichEdit_InsertData(HELE hEle,void *pData,int row,int column); XC_API BOOL WINAPI XRichEdit_InsertImage(HELE hEle,HIMAGE hImage,wchar_t *pImagePath,int row,int column); //插入图片,到当前位置 XC_API BOOL WINAPI XRichEdit_InsertImageGif(HELE hEle,wchar_t *pImageName,int row,int column);//插入GIF图片,到当前位置 XC_API void WINAPI XRichEdit_SetText(HELE hEle,wchar_t *pText); //设置文本内容,会清空之前的内容 XC_API BOOL WINAPI XRichEdit_SetPos(HELE hEle,int row,int column); //设置插入符位置 XC_API BOOL WINAPI XRichEdit_SetItemFontEx(HELE hEle,int beginRow,int beginColumn,int endRow,int endColumn,LOGFONTW *pFont); XC_API BOOL WINAPI XRichEdit_SetItemColorEx(HELE hEle,int beginRow,int beginColumn,int endRow,int endColumn,COLORREF color); XC_API void WINAPI XRichEdit_SetRowHeight(HELE hEle,int height); //设置默认行高 XC_API void WINAPI XRichEdit_SetReadOnly(HELE hEle,BOOL bRead); //设置只读内容 XC_API int WINAPI XRichEdit_GetItemCount(HELE hEle); //获取内容数量,包括图片 XC_API void WINAPI XRichEdit_GetText(HELE hEle,HSTRING hString); //获取文本内容 XC_API void WINAPI XRichEdit_GetHTMLFormat(HELE hEle,HSTRING hString); //获取HTML格式内容 XC_API void* WINAPI XRichEdit_GetData(HELE hEle); XC_API void WINAPI XRichEdit_GetCurrentPos(HELE hEle,out_ int *pRow,out_ int *pColumn);//获取插入符位置,当前行和列 XC_API BOOL WINAPI XRichEdit_GetSelectPos(HELE hEle,out_ int *pBeginRow,out_ int *pBeginColumn,out_ int *pEndRow,out_ int *pEndColumn);//获取选择内容位置 XC_API int WINAPI XRichEdit_GetSelectText(HELE hEle,wchar_t *pOut,int len);//获取选择内容 XC_API int WINAPI XRichEdit_GetRowCount(HELE hEle); //获取总行数 XC_API int WINAPI XRichEdit_GetRowItemCount(HELE hEle,int row); //获取指定行内容数量 XC_API void WINAPI XRichEdit_GetVisibleRow(HELE hEle,out_ int *pBeginRow,out_ int *pEndRow); //获取可视行范围 XC_API int WINAPI XRichEdit_GetRowHeight(HELE hEle); //获取默认行高 XC_API int WINAPI XRichEdit_GetFontCount(HELE hEle); //获取字体数量 XC_API BOOL WINAPI XRichEdit_IsEmpty(HELE hEle); //判断内容是否为空 XC_API BOOL WINAPI XRichEdit_CancelSelect(HELE hEle); //取消选择 XC_API void WINAPI XRichEdit_SelectAll(HELE hEle); //全选 选择所有文本 XC_API void WINAPI XRichEdit_ClearFontTable(HELE hEle); //清理字体表,清理未使用的字体 XC_API BOOL WINAPI XRichEdit_DeleteEx(HELE hEle,int beginRow,int beginColumn,int endRow,int endColumn); //删除指定内容 XC_API BOOL WINAPI XRichEdit_DeleteSelect(HELE hEle); //删除选择内容 XC_API void WINAPI XRichEdit_DeleteAll(HELE hEle); //清空内容 XC_API BOOL WINAPI XRichEdit_Menu_Cut(HELE hEle); //剪切 删除选择的文本,并将文本拷贝到剪切板中 XC_API BOOL WINAPI XRichEdit_Menu_Copy(HELE hEle); //复制 复制选择的文本到剪切板中 XC_API BOOL WINAPI XRichEdit_Menu_Paste(HELE hEle); //粘贴 将剪切板中的文本插入当前光标位置 XC_API void WINAPI XRichEdit_Adjust(HELE hEle,int startIndex=0); //调整 XC_API HELE WINAPI XSBar_Create(int x, int y, int cx, int cy,BOOL bHorizon,HXCGUI hParent=NULL); XC_API BOOL WINAPI XSBar_ScrollUp(HELE hEle); //向左滚动 XC_API BOOL WINAPI XSBar_ScrollDown(HELE hEle); //向右滚动 XC_API BOOL WINAPI XSBar_ScrollTop(HELE hEle); //滚动到顶部 XC_API BOOL WINAPI XSBar_ScrollBottom(HELE hEle); //滚动到底部 XC_API BOOL WINAPI XSBar_ScrollPos(HELE hEle,int pos); //滚动到指定点 XC_API void WINAPI XSBar_SetScrollRange(HELE hEle,int range); XC_API void WINAPI XSBar_SetSliderLength(HELE hEle,int length); //设置滑块长度 XC_API void WINAPI XSBar_SetHorizon(HELE hEle,BOOL bHorizon); //水平显示或垂直 XC_API int WINAPI XSBar_GetScrollPos(HELE hEle); //获取当前滚动点 XC_API int WINAPI XSBar_GetButtonLength(HELE hEle); //按钮长度 XC_API int WINAPI XSBar_GetSliderLength(HELE hEle); //滑块长度 XC_API int WINAPI XSBar_GetScrollRange(HELE hEle); //获取滚动范围 XC_API void WINAPI XSBar_EnableScrollButton2(HELE hEle,BOOL bEnable); //是否显示上下滚动按钮 XC_API void WINAPI XSBar_Adjust(HELE hEle); //调整滚动条 XC_API void WINAPI XSBar_SetImage(HELE hEle,HIMAGE hImage); //设置背景图片 XC_API void WINAPI XSBar_SetImageLeaveUp(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageStayUp(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageDownUp(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageLeaveDown(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageStayDown(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageDownDown(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageLeaveSlider(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageStaySlider(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSBar_SetImageDownSlider(HELE hEle,HIMAGE hImage); XC_API void WINAPI XSView_SetDrawScrollViewEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); XC_API HELE WINAPI XSView_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API void WINAPI XSView_SetDrawScrollView(HELE hEle,pFunDrawScrollView pFun); XC_API HELE WINAPI XSView_GetView(HELE hEle); //获取视元素 XC_API BOOL WINAPI XSView_AddEle(HELE hEle,HELE hNewEle); //添加元素到滚动视图 XC_API int WINAPI XSView_GetHViewPos(HELE hEle); //获取视口原点X坐标 XC_API int WINAPI XSView_GetVViewPos(HELE hEle); //获取视口原点Y坐标 XC_API int WINAPI XSView_GetSpacingLeft(HELE hEle); XC_API int WINAPI XSView_GetSpacingTop(HELE hEle); XC_API int WINAPI XSView_GetSpacingRight(HELE hEle); XC_API int WINAPI XSView_GetSpacingBottom(HELE hEle); XC_API int WINAPI XSView_GetScrollBarWidth(HELE hEle); //获取滚动条宽度 XC_API int WINAPI XSView_GetViewWidth(HELE hEle); //获取视口宽度(不含边框间隔及滚动条) XC_API int WINAPI XSView_GetViewHeight(HELE hEle); //获取视口高度(不含边框间隔及滚动条) XC_API int WINAPI XSView_GetHSizeTotalAccurate(HELE hEle); //获取内容总宽度,精确的(不含边框间隔及滚动条),当内容大小小于视口大小时,返回的是视口大小 XC_API int WINAPI XSView_GetVSizeTotalAccurate(HELE hEle); //获取内容总高度,精确的(不含边框间隔及滚动条),当内容大小小于视口大小时,返回的是视口大小 XC_API void WINAPI XSView_GetViewRect(HELE hEle,out_ RECT *pRect); //获取视口坐标(不含边框间隔),left为视口左间隔大小,top为视口上间隔大小,非(0,0). XC_API void WINAPI XSView_GetSize(HELE hEle,SIZE *pSize); //获取设置的内容大小 XC_API HELE WINAPI XSView_GetHScrollBar(HELE hEle); //获取水平滚动条 XC_API HELE WINAPI XSView_GetVScrollBar(HELE hEle); //获取垂直滚动条 XC_API void WINAPI XSView_SetSize(HELE hEle,int cx, int cy); //设置视图内容总大小(不包含边框间隔) XC_API void WINAPI XSView_SetSpacing(HELE hEle,int left, int top, int right, int bottom); XC_API void WINAPI XSView_SetScrollSize(HELE hEle,int line,int column); //设置滚动行和列大小 XC_API void WINAPI XSView_SetImage(HELE hEle,HIMAGE hImage);//设置贴图 XC_API void WINAPI XSView_EnableHScroll(HELE hEle,BOOL bEnable); //启用水平滚动条 XC_API void WINAPI XSView_EnableVScroll(HELE hEle,BOOL bEnable); //启用垂直滚动条 XC_API BOOL WINAPI XSView_IsHScrollBarVisible(HELE hEle); //水平滚动条当前是否可见 XC_API BOOL WINAPI XSView_IsVScrollBarVisible(HELE hEle); //垂直滚动条当前是否可见 XC_API void WINAPI XSView_Adjust(HELE hEle); XC_API BOOL WINAPI XSView_ScrollHPos(HELE hEle,int pos); //滚动到指定点 XC_API BOOL WINAPI XSView_ScrollVPos(HELE hEle,int pos); //滚动到指定点 XC_API BOOL WINAPI XSView_ScrollHPosX(HELE hEle,int posX); //滚动到指定坐标 XC_API BOOL WINAPI XSView_ScrollVPosY(HELE hEle,int posY); //滚动到指定坐标 XC_API BOOL WINAPI XSView_ScrollLeftLine(HELE hEle); //向左滚动 XC_API BOOL WINAPI XSView_ScrollRightLine(HELE hEle); //向右滚动 XC_API BOOL WINAPI XSView_ScrollTopLine(HELE hEle); //向上滚动 XC_API BOOL WINAPI XSView_ScrollDownLine(HELE hEle); //向下滚动 XC_API BOOL WINAPI XSView_ScrollLeft(HELE hEle); //水平滚动到左侧 XC_API BOOL WINAPI XSView_ScrollRight(HELE hEle); //水平滚动到右侧 XC_API BOOL WINAPI XSView_ScrollTop(HELE hEle); //滚动到顶部 XC_API BOOL WINAPI XSView_ScrollBottom(HELE hEle); //滚动到底部 XC_API HELE WINAPI XSliderBar_Create(int x, int y, int cx, int cy,BOOL bHorizon,HXCGUI hParent=NULL); XC_API void WINAPI XSliderBar_SetRange(HELE hEle,int range); //设置滑动范围 XC_API void WINAPI XSliderBar_SetPos(HELE hEle,int pos); //设置滑块位置 XC_API int WINAPI XSliderBar_GetPos(HELE hEle); //获取滑块位置 XC_API HELE WINAPI XSliderBar_GetButton(HELE hEle); //获取滑块指针 XC_API int WINAPI XSliderBar_GetButtonWidth(HELE hEle); //获取滑块宽度 XC_API void WINAPI XSliderBar_SetHorizon(HELE hEle,BOOL bHorizon); //水平显示或垂直 XC_API void WINAPI XSliderBar_SetButtonWidth(HELE hEle,int width); //设置滑块宽度 XC_API void WINAPI XSliderBar_SetImage(HELE hEle,HIMAGE hImage); //背景 XC_API void WINAPI XSliderBar_SetImage2(HELE hEle,HIMAGE hImage); //显示当前进度图片 XC_API HELE WINAPI XStatic_Create(int x, int y, int cx, int cy,wchar_t *pTitle=NULL,HXCGUI hParent=NULL); XC_API void WINAPI XStatic_SetText(HELE hEle,wchar_t *pText); XC_API wchar_t* WINAPI XStatic_GetText(HELE hEle); XC_API void WINAPI XStatic_AdjustSize(HELE hEle); //根据文本内容,调整元素大小 XC_API void WINAPI XStatic_SetTextAlign(HELE hEle,int flag); //设置文本对齐 XC_API HSTRING WINAPI XStr_Create(wchar_t *pString=NULL); XC_API void WINAPI XStr_Destroy(HSTRING hStr); XC_API void WINAPI XStr_InsertChar(HSTRING hStr,int index,wchar_t ch); //插入 XC_API void WINAPI XStr_InsertString(HSTRING hStr,int index,wchar_t *pStr); XC_API void WINAPI XStr_SetString(HSTRING hStr, wchar_t *pStr); //设置文本 XC_API void WINAPI XStr_AddString(HSTRING hStr, wchar_t *pStr); //添加文本到末尾 XC_API void WINAPI XStr_AddStringLength(HSTRING hStr, wchar_t *pStr, int strLen); //添加文本到末尾 XC_API void WINAPI XStr_SetLength(HSTRING hStr,int length); //设置字符串长度,多余的字符去掉 XC_API void WINAPI XStr_Replace(HSTRING hStr,wchar_t *pStrOld,wchar_t *pStrNew); //字符串替换 Replace XC_API wchar_t* WINAPI XStr_GetBuffer(HSTRING hStr); XC_API int WINAPI XStr_GetLength(HSTRING hStr); XC_API wchar_t* WINAPI XStr_Find(HSTRING hStr,wchar_t ch, int strart=0); //查找字符 XC_API void WINAPI XStr_SetAt(HSTRING hStr,int index, wchar_t ch);//设置指定位置的一个字符 XC_API wchar_t WINAPI XStr_GetAt(HSTRING hStr,int index); //获取指定位置的一个字符 XC_API void WINAPI XStr_Empty(HSTRING hStr); //清空 XC_API BOOL WINAPI XStr_IsEmpty(HSTRING hStr); //判断是否为空 XC_API void WINAPI XStr_Delete(HSTRING hStr,wchar_t ch); //删除ch,全部ch删除 XC_API void WINAPI XStr_DeleteLength(HSTRING hStr,int index, int count=1); //从index位置删除count个字符 XC_API void WINAPI XStr_DeleteFront(HSTRING hStr, int index); //删除指定位置之后的字符串 XC_API void WINAPI XStr_DeleteBack(HSTRING hStr, int index); //删除指定位置之前的字符串 XC_API HELE WINAPI XTabBar_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API int WINAPI XTabBar_AddLabel(HELE hEle,wchar_t *pName,HELE hPage=NULL); //添加一个标签 XC_API int WINAPI XTabBar_InsertLabel(HELE hEle,int index,wchar_t *pName,HELE hPage=NULL); XC_API void WINAPI XTabBar_DeleteLabel(HELE hEle,int index,BOOL deletePage=FALSE); //删除 XC_API void WINAPI XTabBar_DeleteLabelAll(HELE hEle,BOOL deletePage=FALSE); //删除所有TAB XC_API HELE WINAPI XTabBar_GetLabel(HELE hEle,int index);//获取标签按钮Button XC_API HELE WINAPI XTabBar_GetLabelPage(HELE hEle,int index); //获取标签对应的页 XC_API int WINAPI XTabBar_GetPageIndex(HELE hEle,HELE hPage); //检索绑定页对应标签索引 XC_API int WINAPI XTabBar_GetSelect(HELE hEle); //获取选择的标签 XC_API int WINAPI XTabBar_GetLabelSpacing(HELE hEle); //获取标签间距, 0没有间距 XC_API int WINAPI XTabBar_GetLabelCount(HELE hEle); //获取标签项数量 XC_API void WINAPI XTabBar_SetLabelSpacing(HELE hEle,int spacing);//设置标签间距, 0没有间距 XC_API BOOL WINAPI XTabBar_SetBindEle(HELE hEle,int index,HELE hPage); //绑定视图元素到标签 XC_API void WINAPI XTabBar_SetSelect(HELE hEle,int index,BOOL reDraw=TRUE); //设置选择标签 XC_API void WINAPI XTabBar_SetAlign(HELE hEle,align_type_ align); XC_API void WINAPI XTabBar_SetUp(HELE hEle); //左滚动 XC_API void WINAPI XTabBar_SetDown(HELE hEle); //右滚动 XC_API void WINAPI XTabBar_EnableTile(HELE hEle,BOOL bTile); //平铺标签,每个标签显示相同大小 XC_API HELE WINAPI XTextLink_Create(int x, int y, int cx, int cy,wchar_t *pTitle=NULL,HXCGUI hParent=NULL); XC_API void WINAPI XTextLink_SetStayColor(HELE hEle,COLORREF color); //设置鼠标停留时文本颜色 XC_API COLORREF WINAPI XTextLink_GetStayColor(HELE hEle); //获取鼠标停留时文本颜色 XC_API void WINAPI XTextLink_AdjustSize(HELE hEle); //根据文本内容,调整元素大小 XC_API void WINAPI XTextLink_ShowUnderline(HELE hEle,BOOL bLeave,BOOL bStay); //显示下划线 XC_API HELE WINAPI XToolBarBtn_Create(int cx,int cy,wchar_t *pTitle); XC_API void WINAPI XToolBarBtn_Adjust(HELE hEle); //调整到合适大小, 在添加到工具条上之后才可调用,因为需要知道工具条大小后才能做调整 XC_API HELE WINAPI XToolBar_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API int WINAPI XToolBar_InsertEle(HELE hEle,HELE hNewEle,int index=-1); //添加元素到工具条, -1插入到末尾 XC_API int WINAPI XToolBar_InsertSeparator(HELE hEle,int index=-1); //添加分隔符, -1插入到末尾 XC_API HELE WINAPI XToolBar_GetHEle(HELE hEle,int index); //获取工具条上元素句柄 XC_API HELE WINAPI XToolBar_GetButtonLeft(HELE hEle); //获取工具条左滚动按钮Button XC_API HELE WINAPI XToolBar_GetButtonRight(HELE hEle); //获取工具条右滚动按钮Button XC_API void WINAPI XToolBar_DeleteEle(HELE hEle,int index); //移除工具条上元素并销毁 XC_API void WINAPI XToolBar_Adjust(HELE hEle); //调整布局 XC_API void WINAPI XToolBar_SetImage(HELE hEle,HIMAGE hImage); XC_API void WINAPI XTree_SetUserDrawItemEx(HELE hEle,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //设置用户自绘项 XC_API HELE WINAPI XTree_Create(int x, int y, int cx, int cy,HXCGUI hParent=NULL); XC_API int WINAPI XTree_InsertItem(HELE hEle,wchar_t *pText, int parentId=XTREE_ROOT,int imageId=-1, int selectImageId=-1,int insertAfter=XTREE_INSERT_LAST,BOOL bExpand=TRUE); //插入项 XC_API void WINAPI XTree_EnableButton(HELE hEle,BOOL bEnable); //显示按钮 XC_API void WINAPI XTree_EnableLine(HELE hEle,BOOL bEnable); //显示连接虚线 XC_API void WINAPI XTree_EnableRootLine(HELE hEle,BOOL bEnable); //启用连接根部的线 XC_API BOOL WINAPI XTree_IsButton(HELE hEle); XC_API BOOL WINAPI XTree_IsLine(HELE hEle); XC_API BOOL WINAPI XTree_IsRootLine(HELE hEle); XC_API BOOL WINAPI XTree_IsExpand(HELE hEle,int id); //判断指定项是否展开 XC_API void WINAPI XTree_SetSpacingLeft(HELE hEle,int left); //设置左间隔 XC_API void WINAPI XTree_SetSpacingTop(HELE hEle,int top); //设置上间隔 XC_API void WINAPI XTree_SetImageList(HELE hEle,HXCGUI hImageList); //设置图片列表 XC_API void WINAPI XTree_SetItemData(HELE hEle,int id, int data); //设置用户数据 XC_API void WINAPI XTree_SetExpandButtonSize(HELE hEle,int size); //设置展开按钮大小 XC_API void WINAPI XTree_SetIndentation(HELE hEle,int width); //设置子项缩进宽度 XC_API void WINAPI XTree_SetSelectItem(HELE hEle,int id); //设置选择项 XC_API void WINAPI XTree_SetItemText(HELE hEle,int id, wchar_t *pText);//设置项文本 XC_API void WINAPI XTree_SetItemImage(HELE hEle,int id, int imageId); //设置项图片 XC_API void WINAPI XTree_SetItemHeight(HELE hEle,int height); //设置项高度 XC_API BOOL WINAPI XTree_SetItemBindEle(HELE hEle,int id,itemBindEle_ *pInfo); //绑定元素 XC_API int WINAPI XTree_GetItemData(HELE hEle,int id); //获取用户数据 XC_API int WINAPI XTree_GetItemHeight(HELE hEle); //获取项高度 XC_API int WINAPI XTree_GetSelectItem(HELE hEle); //获取当前选择的项 XC_API int WINAPI XTree_GetParentItem(HELE hEle,int id); //获取指定项的父项 XC_API int WINAPI XTree_GetChildItem(HELE hEle,int id); //获取指定项的子项 XC_API int WINAPI XTree_GetNextSiblingItem(HELE hEle,int id); //获取指定项的下一个兄弟项 XC_API int WINAPI XTree_GetPrevSiblingItem(HELE hEle,int id); //获取指定项的上一个兄弟项 XC_API int WINAPI XTree_GetFirstItem(HELE hEle); //获取第一个节点 XC_API int WINAPI XTree_GetItemDepth(HELE hEle,int id);//获取节点深度 XC_API int WINAPI XTree_GetItemImage(HELE hEle,int id); //获取项图片 XC_API wchar_t* WINAPI XTree_GetItemText(HELE hEle,int id); //获取项文本 XC_API HXCGUI WINAPI XTree_GetImageList(HELE hEle); //获取图片列表 XC_API void WINAPI XTree_Expand(HELE hEle,int id, BOOL bExpand); //展开收缩指定项 XC_API void WINAPI XTree_DeleteItem(HELE hEle,int id); //删除一个项 XC_API void WINAPI XTree_DeleteAllItems(HELE hEle); //清空树 XC_API int WINAPI XTree_HitTest(HELE hEle,POINT *pPt); //测试点击位置,返回项ID XC_API void WINAPI XTree_SetUserDrawItem(HELE hEle,pFunTree_DrawItem pFunDrawItem); //设置用户自绘项 XC_API void WINAPI XTree_EnableCheckBox(HELE hEle, BOOL bEnable);//启用复选框 XC_API BOOL WINAPI XTree_IsItemCheck(HELE hEle,int id); //判断项的复选框是否勾选 XC_API void WINAPI XTree_SetItemCheck(HELE hEle,int id, BOOL bCheck); //设置项的复选框 XC_API HXCGUI WINAPI XWeb_Create(HWINDOW hWindow,int x,int y,int cx,int cy); XC_API BOOL WINAPI XWeb_OpenURL(HXCGUI hWebBrowser,wchar_t *pUrl); XC_API void WINAPI XWeb_Show(HXCGUI hWebBrowser,BOOL bShow); //显示隐藏 XC_API HWND WINAPI XWeb_GetHWnd(HXCGUI hWebBrowser); //获取浏览器控件容器(CAxWindow)HWND句柄 XC_API void* WINAPI XWeb_GetControl(HXCGUI hWebBrowser); //获取控件接口IWebBrowser2* XC_API void* WINAPI XWeb_GetCAxWindow(HXCGUI hWebBrowser); //获取容器对象指针CAxWindow* XC_API void WINAPI XWeb_Destroy(HXCGUI hWebBrowser); XC_API BOOL WINAPI XWeb_GetClientRect(HXCGUI hWebBrowser,out_ RECT *pRect); //获取坐标 XC_API BOOL WINAPI XWeb_SetRect(HXCGUI hWebBrowser,in_ RECT *pRect); //设置坐标 XC_API BOOL WINAPI XWeb_ExeJavascript(HXCGUI hWebBrowser,wchar_t *pFun,wchar_t* pParam[],int paramCount); XC_API void WINAPI XWeb_RegEvent(HXCGUI hWebBrowser,int type,void *pFun); XC_API void WINAPI XWeb_RegExternalFunction0(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External0 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction1(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External1 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction2(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External2 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction3(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External3 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction4(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External4 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction5(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External5 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction6(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External6 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction7(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External7 pFun); //注册Js外部函数 XC_API void WINAPI XWeb_RegExternalFunction8(HXCGUI hWebBrowser,wchar_t *pFunName,pFunIE_External8 pFun); //注册Js外部函数 XC_API HRESULT WINAPI XWeb_get_AddressBar(HXCGUI hWebBrowser,out_ BOOL *pbValue); XC_API HRESULT WINAPI XWeb_put_AddressBar(HXCGUI hWebBrowser,BOOL bValue); XC_API HRESULT WINAPI XWeb_get_Application(HXCGUI hWebBrowser,IDispatch **ppDisp); XC_API HRESULT WINAPI XWeb_get_Busy(HXCGUI hWebBrowser,out_ BOOL *pbBool); XC_API HRESULT WINAPI XWeb_ClientToWindow(HXCGUI hWebBrowser,in_out_ int *pcx,in_out_ int *pcy); XC_API HRESULT WINAPI XWeb_get_Container(HXCGUI hWebBrowser,IDispatch **ppDisp); XC_API HRESULT WINAPI XWeb_get_Document(HXCGUI hWebBrowser,IDispatch **ppDisp); XC_API HRESULT WINAPI XWeb_ExecWB(HXCGUI hWebBrowser,in_ OLECMDID cmdID,in_ OLECMDEXECOPT cmdexecopt,in_ VARIANT *pvaIn,in_out_ VARIANT *pvaOut); XC_API HRESULT WINAPI XWeb_get_FullName(HXCGUI hWebBrowser,out_ wchar_t *pOut,in_ int outLen); XC_API HRESULT WINAPI XWeb_get_FullScreen(HXCGUI hWebBrowser,BOOL *pbFullScreen); XC_API HRESULT WINAPI XWeb_put_FullScreen(HXCGUI hWebBrowser,BOOL bFullScreen); XC_API HRESULT WINAPI XWeb_GetProperty(HXCGUI hWebBrowser,in_ wchar_t *pProperty,out_ VARIANT *pvtValue); XC_API HRESULT WINAPI XWeb_GoBack(HXCGUI hWebBrowser); XC_API HRESULT WINAPI XWeb_GoForward(HXCGUI hWebBrowser); XC_API HRESULT WINAPI XWeb_GoHome(HXCGUI hWebBrowser); XC_API HRESULT WINAPI XWeb_GoSearch(HXCGUI hWebBrowser); XC_API HRESULT WINAPI XWeb_get_Height(HXCGUI hWebBrowser,out_ long *pl); XC_API HRESULT WINAPI XWeb_put_Height(HXCGUI hWebBrowser,in_ long height); XC_API HRESULT WINAPI XWeb_get_HWND(HXCGUI hWebBrowser,out_ long *pHWND); XC_API HRESULT WINAPI XWeb_get_Left(HXCGUI hWebBrowser,out_ long *pl); XC_API HRESULT WINAPI XWeb_put_Left(HXCGUI hWebBrowser,in_ long left); XC_API HRESULT WINAPI XWeb_get_LocationName(HXCGUI hWebBrowser,out_ wchar_t *pLocationName,in_ int outLen); XC_API HRESULT WINAPI XWeb_get_LocationURL(HXCGUI hWebBrowser,out_ wchar_t *pLocationURL,in_ int outLen); XC_API HRESULT WINAPI XWeb_get_MenuBar(HXCGUI hWebBrowser,out_ BOOL *pbValue); XC_API HRESULT WINAPI XWeb_put_MenuBar(HXCGUI hWebBrowser,in_ BOOL bValue); XC_API HRESULT WINAPI XWeb_get_Name(HXCGUI hWebBrowser,out_ wchar_t *pName,in_ int outLen); XC_API HRESULT WINAPI XWeb_Navigate(HXCGUI hWebBrowser,in_ wchar_t *pUrl,in_ VARIANT *Flags,in_ VARIANT *TargetFrameName,in_ VARIANT *PostData,in_ VARIANT *Headers); XC_API HRESULT WINAPI XWeb_Navigate2(HXCGUI hWebBrowser,in_ VARIANT *URL,in_ VARIANT *Flags,in_ VARIANT *TargetFrameName,in_ VARIANT *PostData,in_ VARIANT *Headers); XC_API HRESULT WINAPI XWeb_get_Offline(HXCGUI hWebBrowser,out_ BOOL *pbOffline); XC_API HRESULT WINAPI XWeb_put_Offline(HXCGUI hWebBrowser,in_ BOOL bOffline); XC_API HRESULT WINAPI XWeb_get_Parent(HXCGUI hWebBrowser,IDispatch **ppDisp); XC_API HRESULT WINAPI XWeb_get_Path(HXCGUI hWebBrowser,out_ wchar_t *pPath,in_ int outLen); XC_API HRESULT WINAPI XWeb_PutProperty(HXCGUI hWebBrowser,in_ wchar_t *pProperty,in_ VARIANT vtValue); XC_API HRESULT WINAPI XWeb_QueryStatusWB(HXCGUI hWebBrowser,in_ OLECMDID cmdID,out_ OLECMDF *pcmdf); XC_API HRESULT WINAPI XWeb_Quit(HXCGUI hWebBrowser); XC_API HRESULT WINAPI XWeb_get_ReadyState(HXCGUI hWebBrowser,out_ READYSTATE *plReadyState); XC_API HRESULT WINAPI XWeb_Refresh(HXCGUI hWebBrowser); XC_API HRESULT WINAPI XWeb_Refresh2(HXCGUI hWebBrowser,in_ int level); XC_API HRESULT WINAPI XWeb_get_RegisterAsBrowser(HXCGUI hWebBrowser,out_ BOOL *pbRegister); XC_API HRESULT WINAPI XWeb_put_RegisterAsBrowser(HXCGUI hWebBrowser,in_ BOOL bRegister); XC_API HRESULT WINAPI XWeb_get_RegisterAsDropTarget(HXCGUI hWebBrowser,out_ BOOL *pbRegister); XC_API HRESULT WINAPI XWeb_put_RegisterAsDropTarget(HXCGUI hWebBrowser,in_ BOOL bRegister); XC_API HRESULT WINAPI XWeb_get_Resizable(HXCGUI hWebBrowser,out_ BOOL *pbValue); XC_API HRESULT WINAPI XWeb_put_Resizable(HXCGUI hWebBrowser,in_ BOOL bValue); XC_API HRESULT WINAPI XWeb_ShowBrowserBar(HXCGUI hWebBrowser,in_ VARIANT *pvaClsid,in_ BOOL bShow); XC_API HRESULT WINAPI XWeb_get_Silent(HXCGUI hWebBrowser,out_ BOOL *pbSilent); XC_API HRESULT WINAPI XWeb_put_Silent(HXCGUI hWebBrowser,in_ BOOL bSilent); XC_API HRESULT WINAPI XWeb_get_StatusBar(HXCGUI hWebBrowser,out_ BOOL *pbBool); XC_API HRESULT WINAPI XWeb_put_StatusBar(HXCGUI hWebBrowser,in_ BOOL bValue); XC_API HRESULT WINAPI XWeb_get_StatusText(HXCGUI hWebBrowser,out_ wchar_t *pOut,in_ int outLen); XC_API HRESULT WINAPI XWeb_put_StatusText(HXCGUI hWebBrowser,in_ wchar_t *pStatusText); XC_API HRESULT WINAPI XWeb_Stop(HXCGUI hWebBrowser); XC_API HRESULT WINAPI XWeb_get_TheaterMode(HXCGUI hWebBrowser,out_ BOOL *pbRegister); XC_API HRESULT WINAPI XWeb_put_TheaterMode(HXCGUI hWebBrowser,in_ BOOL bRegister); XC_API HRESULT WINAPI XWeb_get_ToolBar(HXCGUI hWebBrowser,out_ int *pValue); XC_API HRESULT WINAPI XWeb_put_ToolBar(HXCGUI hWebBrowser,in_ int value); XC_API HRESULT WINAPI XWeb_get_Top(HXCGUI hWebBrowser,out_ long *pl); XC_API HRESULT WINAPI XWeb_put_Top(HXCGUI hWebBrowser,in_ long top); XC_API HRESULT WINAPI XWeb_get_TopLevelContainer(HXCGUI hWebBrowser,out_ BOOL *pbBool); XC_API HRESULT WINAPI XWeb_get_Type(HXCGUI hWebBrowser,out_ wchar_t *pOut,in_ int outLen); XC_API HRESULT WINAPI XWeb_get_Visible(HXCGUI hWebBrowser,out_ BOOL *pBool); XC_API HRESULT WINAPI XWeb_put_Visible(HXCGUI hWebBrowser,in_ BOOL bValue); XC_API HRESULT WINAPI XWeb_get_Width(HXCGUI hWebBrowser,out_ long *pl); XC_API HRESULT WINAPI XWeb_put_Width(HXCGUI hWebBrowser,in_ long width); XC_API void WINAPI XWnd_RegisterMessageEx(HWINDOW hWindow,int message,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //注册消息回调函数 XC_API void WINAPI XWnd_RegisterNCMessageEx(HWINDOW hWindow,int message,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //注册非客户区消息 XC_API void WINAPI XWnd_RegisterMsgProcEx(HWINDOW hWindow,pFunClassEventMsg pCallBackFun,void *pClass_Fun_Info); //注册窗口消息处理过程 XC_API HWINDOW WINAPI XWnd_CreateWindow(int x,int y,int cx,int cy,wchar_t *pTitle,HWND hWndParent=NULL,int XCStyle=XC_SY_DEFAULT); XC_API HWINDOW WINAPI XWnd_CreateWindowEx(DWORD dwExStyle, wchar_t* lpClassName,wchar_t* lpWindowName,DWORD dwStyle, int x,int y,int cx,int cy,HWND hWndParent,int XCStyle=XC_SY_DEFAULT); XC_API void WINAPI XWnd_RegisterMessage(HWINDOW hWindow,int message,void *pFun); //注册消息回调函数 XC_API void WINAPI XWnd_RegisterNCMessage(HWINDOW hWindow,int message,void *pFun); //注册非客户区消息 XC_API void WINAPI XWnd_RegisterMsgProc(HWINDOW hWindow,pFunWndMsgProc pFun); //注册窗口消息处理过程 XC_API void WINAPI XWnd_GetDrawRect(HWINDOW hWindow,out_ RECT *pRect);//获取当前绘制区域(包含非客户区) XC_API HELE WINAPI XWnd_GetFocusEle(HWINDOW hWindow); //获取拥有焦点的元素 XC_API HWND WINAPI XWnd_GetHWnd(HWINDOW hWindow); //获取窗口句柄 XC_API HELE WINAPI XWnd_GetEle(HWINDOW hWindow,int eleID); //通过ID获取元素句柄 XC_API HICON WINAPI XWnd_GetIcon(HWINDOW hWindow,BOOL bBigIcon);//获取窗口图标 XC_API int WINAPI XWnd_GetWindowText(HWINDOW hWindow,wchar_t *pOut,int len); XC_API BOOL WINAPI XWnd_SetWindowText(HWINDOW hWindow,wchar_t *pText); XC_API void WINAPI XWnd_SetFont(HWINDOW hWindow,HFONTX hFontX); XC_API DWORD WINAPI XWnd_SetIcon(HWINDOW hWindow,HICON hIcon,BOOL bBigIcon); XC_API DWORD WINAPI XWnd_SetIcon2(HWINDOW hWindow,wchar_t *pFileName,BOOL bBigIcon); XC_API void WINAPI XWnd_SetIconSize(HWINDOW hWindow,int width,int height); //设置标题栏图标显示大小 XC_API void WINAPI XWnd_SetFontCaptionText(HWINDOW hWindow,HFONTX hFontX);//设置标题栏字体 XC_API void WINAPI XWnd_SetColorCaptionText(HWINDOW hWindow,COLORREF color);//设置标题栏文字颜色 XC_API UINT WINAPI XWnd_SetTimer(HWINDOW hWindow,UINT nIDEvent,UINT uElapse); //设置定时器 XC_API BOOL WINAPI XWnd_KillTimer(HWINDOW hWindow,UINT nIDEvent); XC_API UINT WINAPI XWnd_SetTimerEx(HWINDOW hWindow,UINT nIDEvent,UINT uElapse,int userData=0); XC_API BOOL WINAPI XWnd_KillTimerEx(HWINDOW hWindow,UINT nIDEvent); XC_API void WINAPI XWnd_SetMinWidth(HWINDOW hWindow,int width); //设置窗口最小宽度 XC_API void WINAPI XWnd_SetMinHeight(HWINDOW hWindow,int height); //设置窗口最小高度 XC_API void WINAPI XWnd_SetRoundSize(HWINDOW hWindow,int size); //设置窗口圆角大小,对圆角窗口有效 XC_API void WINAPI XWnd_AddEle(HWINDOW hWindow,HELE hEle); XC_API void WINAPI XWnd_AddEleNC(HWINDOW hWindow,HELE hEle); //添加到非客户区 XC_API void WINAPI XWnd_AddMenuBar(HWINDOW hWindow,HELE hEle); //添加工具条 XC_API void WINAPI XWnd_AddToolBar(HWINDOW hWindow,HELE hEle); //添加工具条 XC_API void WINAPI XWnd_Adjust(HWINDOW hWindow); //调整窗口布局 XC_API void WINAPI XWnd_MaximizeWnd(HWINDOW hWindow,BOOL bMax); //最大化 还原窗口 XC_API BOOL WINAPI XWnd_IsMaximizeWnd(HWINDOW hWindow); //窗口是否最大化 XC_API void WINAPI XWnd_RedrawWndRect(HWINDOW hWindow,RECT *pRect,BOOL bImmediately=FALSE); //重绘窗口指定区域 XC_API void WINAPI XWnd_RedrawWnd(HWINDOW hWindow,BOOL bImmediately=FALSE); //重绘窗口 XC_API void WINAPI XWnd_RedrawEleRectNC(HWINDOW hWindow,HELE hEle,RECT *pRect); XC_API void WINAPI XWnd_EnableDragBorder(HWINDOW hWindow,BOOL bDrag); //使用拖动边框 XC_API void WINAPI XWnd_EnableDragWindow(HWINDOW hWindow,BOOL bDrag); //拖动窗口 XC_API HELE WINAPI XWnd_GetButtonMin(HWINDOW hWindow); //最小化按钮 XC_API HELE WINAPI XWnd_GetButtonMax(HWINDOW hWindow); //最大化按钮 XC_API HELE WINAPI XWnd_GetButtonClose(HWINDOW hWindow); //关闭按钮 XC_API void WINAPI XWnd_EnableMinButton(HWINDOW hWindow,BOOL bEnable,BOOL bRedraw=FALSE); //启用最小化按钮 XC_API void WINAPI XWnd_EnableMaxButton(HWINDOW hWindow,BOOL bEnable,BOOL bRedraw=FALSE); //启用最大化按钮 XC_API void WINAPI XWnd_EnableCloseButton(HWINDOW hWindow,BOOL bEnable,BOOL bRedraw=FALSE); //启用关闭按钮 XC_API void WINAPI XWnd_EnableRound(HWINDOW hWindow,BOOL bEnable,BOOL bRedraw=FALSE); //圆角功能的启用与关闭 XC_API int WINAPI XWnd_GetChildEleCount(HWINDOW hWindow); XC_API int WINAPI XWnd_GetChildEleCountNC(HWINDOW hWindow); XC_API HELE WINAPI XWnd_GetChildEleByIndex(HWINDOW hWindow,int index); XC_API HELE WINAPI XWnd_GetChildEleByIndexNC(HWINDOW hWindow,int index); XC_API void WINAPI XWnd_SetTransparentFlag(HWINDOW hWindow,int flag); //设置透明窗口 XC_API void WINAPI XWnd_SetTransparentAlpha(HWINDOW hWindow,BYTE alpha); //设置窗口透明度 XC_API void WINAPI XWnd_SetTransparentColor(HWINDOW hWindow,COLORREF color); //设置窗口透明色 XC_API void WINAPI XWnd_SetImage(HWINDOW hWindow,HIMAGE hImage=NULL); //客户区图片 XC_API void WINAPI XWnd_SetImageNC(HWINDOW hWindow,HIMAGE hImage=NULL); //非客户区窗口图片 XC_API void WINAPI XWnd_SetImageCaption(HWINDOW hWindow,HIMAGE hImage=NULL); //标题栏图片 XC_API void WINAPI XWnd_SetImageBorderLeft(HWINDOW hWindow,HIMAGE hImage=NULL); //边框图片 XC_API void WINAPI XWnd_SetImageBorderRight(HWINDOW hWindow,HIMAGE hImage=NULL); //边框图片 XC_API void WINAPI XWnd_SetImageBorderBottom(HWINDOW hWindow,HIMAGE hImage=NULL); //边框图片 XC_API void WINAPI XWnd_SetBkColor(HWINDOW hWindow,COLORREF color); //设置背景颜色 XC_API void WINAPI XWnd_EnableBorderStrokeInner(HWINDOW hWindow,BOOL bStroke); //启用绘制描边 内 XC_API void WINAPI XWnd_EnableBorderStrokeOuter(HWINDOW hWindow,BOOL bStroke); //启用绘制描边 外 XC_API void WINAPI XWnd_SetBorderStrokeInnerColor(HWINDOW hWindow,COLORREF color1,COLORREF color2); //设置描边颜色 内 XC_API void WINAPI XWnd_SetBorderStrokeOuterColor(HWINDOW hWindow,COLORREF color1,COLORREF color2); //设置描边颜色 外 XC_API void WINAPI XWnd_CloseWindow(HWINDOW hWindow); //关闭窗口 XC_API void WINAPI XWnd_CreateCaret(HWINDOW hWindow,HELE hEle, int width, int height);//创建插入符 XC_API void WINAPI XWnd_SetCaretSize(HWINDOW hWindow,int width, int height); //设置插入符大小 XC_API void WINAPI XWnd_SetCaretPos(HWINDOW hWindow,int x,int y); //设置插入符位置 XC_API void WINAPI XWnd_SetCaretPosEx(HWINDOW hWindow,int x,int y,int width,int height); //设置插入符位置 XC_API void WINAPI XWnd_SetCaretColor(HWINDOW hWindow,COLORREF color); //设置插入符颜色 XC_API void WINAPI XWnd_ShowCaret(HWINDOW hWindow,BOOL bShow); //显示插入符 XC_API void WINAPI XWnd_DestroyCaret(HWINDOW hWindow); //销毁插入符 XC_API BOOL WINAPI XWnd_GetClientRect(HWINDOW hWindow,out_ RECT *pRect); //获取客户区坐标(左上角0,0) XC_API void WINAPI XWnd_GetNCClientRect(HWINDOW hWindow,out_ RECT *pRect); //非客户区坐标,整个窗口坐标(左上角0,0) XC_API int WINAPI XWnd_GetClientLeft(HWINDOW hWindow); //客户区左间距 XC_API int WINAPI XWnd_GetClientTop(HWINDOW hWindow); //客户区上间距 XC_API int WINAPI XWnd_GetClientRight(HWINDOW hWindow); //客户区右间距 XC_API int WINAPI XWnd_GetClientBottom(HWINDOW hWindow); //客户区下间距 XC_API int WINAPI XWnd_GetCaptionHeight(HWINDOW hWindow); //获取标题栏高度 XC_API void WINAPI XWnd_SetBorderSize(HWINDOW hWindow,int left,int top,int right,int bottom); //设置窗口边框大小 XC_API void WINAPI XWnd_SetCaptionHeight(HWINDOW hWindow,int captionHeight); //设置标题栏高度 XC_API void WINAPI XWnd_WindowToClientRect(HWINDOW hWindow,in_out_ RECT *pRect); //窗口非客户区坐标转换到客户区坐标 XC_API void WINAPI XWnd_WindowToClientPt(HWINDOW hWindow,in_out_ POINT *pPt); //窗口非客户区点转换到客户区坐标点 XC_API void WINAPI XWnd_SetUserData(HWINDOW hWindow,int data); XC_API int WINAPI XWnd_GetUserData(HWINDOW hWindow); XC_API BOOL WINAPI XWnd_ShowWindow(HWINDOW hWindow,int nCmdShow); XC_API BOOL WINAPI XWnd_SetWindowPos(HWINDOW hWindow,HWND hWndInsertAfter,int x,int y,int cx,int cy,UINT uFlags); XC_API BOOL WINAPI XWnd_SetWindowRect(HWINDOW hWindow,in_ RECT *pRect); XC_API BOOL WINAPI XWnd_SetWindowSize(HWINDOW hWindow,int width,int height); XC_API BOOL WINAPI XWnd_GetWindowRect(HWINDOW hWindow,out_ RECT *pRect); XC_API BOOL WINAPI XWnd_IsWindowVisible(HWINDOW hWindow); XC_API int WINAPI XC_GetObjectType(HXCGUI hXCGUI); //获取资源类型 XC_API BOOL WINAPI XC_IsHELE(HELE hEle); //检查句柄 XC_API BOOL WINAPI XC_IsHWINDOW(HWINDOW hWindow); //检查句柄 XC_API BOOL WINAPI XC_IsSViewExtend(HELE hEle); //判断元素是否从滚动视图元素扩展的新元素,包含滚动视图元素 XC_API BOOL WINAPI XC_IsEditExtend(HELE hEle); //判断该元素是否从指定元素扩展而来 XC_API int WINAPI XC_UnicodeToAnsi(wchar_t *pIn,int inLen,char *pOut,int outLen); XC_API int WINAPI XC_AnsiToUnicode(char *pIn,int inLen,wchar_t *pOut,int outLen); XC_API int WINAPI XC_HexToDec(wchar_t *pHex); XC_API void WINAPI XC_SetResourcesModule(HMODULE hModule); //设置资源模块句柄 XC_API BOOL WINAPI XC_RectInRect(RECT *pRect1,RECT *pRect2); XC_API void WINAPI XC_CombineRect(RECT *pDest,RECT *pSrc1,RECT *pSrc2); XC_API HMODULE WINAPI XC_GetModuleHandle(wchar_t *pModuleName); XC_API HMODULE WINAPI XC_GetModuleHandle2(); XC_API HANDLE WINAPI XC_LoadImage(HINSTANCE hinst,wchar_t * lpszName,UINT uType,int cxDesired,int cyDesired,UINT fuLoad); XC_API HFONT WINAPI XC_CreateFont(wchar_t *pName=L"宋体",int size=12,BOOL bBold=FALSE,BOOL bItalic=FALSE,BOOL bUnderline=FALSE,BOOL bStrikeOut=FALSE); XC_API void WINAPI XC_InitFont(LOGFONTW *pFont,wchar_t *pName,int size,BOOL bBold=FALSE,BOOL bItalic=FALSE,BOOL bUnderline=FALSE,BOOL bStrikeOut=FALSE); XC_API void* WINAPI XC_Malloc(int size); XC_API void WINAPI XC_Free(void *p); XC_API BOOL WINAPI XML_Register(int type,void *pFun); //注册回调函数 XC_API BOOL WINAPI XC_RegisterWndClass(wchar_t *pClassName,HICON hIcon=NULL); //注册窗口类 XC_API BOOL WINAPI XInitXCGUI(wchar_t *pText=NULL); XC_API void WINAPI XRunXCGUI(); XC_API void WINAPI XExitProcess(); //退出进程(相当析构函数) XC_API void WINAPI xtrace(char *pszFormat, ...); XC_API void WINAPI xtracew(wchar_t *pszFormat, ...); #endif //XCGUI_HEADER_FILE_