易IDE视觉库插件开发文档

插件开发


IRE_ 事件通知

<p>[toc]</p> <blockquote> <h3>IRE_STRUCT_MENU_CALCSIZE</h3> <p>数据类型原型</p> <pre><code>// 计算菜单尺寸事件结构 typedef struct IRE_STRUCT_MENU_CALCSIZE { int width; // 菜单宽度 int height; // 菜单高度 LPARAM param; // 添加菜单时的菜单数值, 弹出式菜单这个值为0 }*LPIRE_STRUCT_MENU_CALCSIZE;</code></pre> <h3>IRE_STRUCT_MENU_DRAW</h3> <p>数据类型原型</p> <pre><code>// 背景被绘画事件结构 typedef struct IRE_STRUCT_MENU_DRAW { LPCANVAS hCanvas; // dx使用的绘画句柄, 需要gdi/gdi+的话请使用 iDraw_canvas_getdc() 获取绘画DC int width; // 宽度 int height; // 高度 int id; // 菜单ID UINT type; // 菜单类型 LPCWSTR text; // 菜单标题 int state; // 菜单状态, 一个或多个值的组合 }*LPIRE_STRUCT_MENU_DRAW;</code></pre> <h3>IRE_STRUCT_GETICON</h3> <p>数据类型原型</p> <pre><code>typedef struct IRE_STRUCT_GETICON { HWND hWnd; // 要获取图标的窗口句柄, 如果是菜单这个值为0 LPVOID hResource; // 绑定窗口时的资源句柄 LPCWSTR pszID; // 项目文本 LPVOID pArg; // 如果是菜单, 这个值为菜单ID, 根据组件类型来传递不同数据, 详情请查看帮助文档(未写....) RECT_F* prc; // 指向 IDRAW_RECT_F 结构指针, 需要把图标位置写入这个地址 int state; // 当前要获取的状态图标, 目前只有 STATE::NORMAL, STATE::HOT, STATE::DOWN, STATE::BAN 这几个状态 int* pIconType; // 图标来源, 0=id指向的图标, 1=默认图标, 目前暂时不使用这个参数 }*LPIRE_STRUCT_GETICON;</code></pre> <h3>IRE_STRUCT_TAB_SIZE</h3> <p>数据类型原型</p> <pre><code>// 选择夹尺寸改变事件结构 typedef struct IRE_STRUCT_TAB_SIZE { int index; // 当前选中项 int direction; // 当前选择夹方向 RECT rc; // 选择夹内的组件建议的位置, 这个位置已经把选择夹的头部空了出来, 内部根据这个结构调整位置, 可以被修改 }*LPIRE_STRUCT_TAB_CHANGE;</code></pre> <h3>IRE_STRUCT_MDICLIENT_MOVE_EVENT</h3> <p>数据类型原型</p> <pre><code>typedef struct IRE_STRUCT_MDICLIENT_MOVE_EVENT { int windowType; // 当前MDI下窗口的类型, 低位 -1=没有窗口, 0=代码区, 1=设计器窗口, 2=起始页, 高位 当前MDIClient 窗口下是显示什么窗口类型, 0=未知, 1=窗口设计器, 2=普通程序集, 3=窗口程序集, 4=类, 5=全局变量, 6=数据类型, 7=DLL目录定义表, 8=常量, 9=图片资源, 10=声音资源 HWND hChild1; // MDI窗口下的第一层窗口 HWND hChild2; // MDI窗口下的第二层窗口 HWND hChild3; // MDI窗口下的第三层窗口 HWND hChild4; // MDI下的第四层窗口, 如果是设计器窗口, 那这个窗口就是设计器窗口, 起始页则为最近打开源码超列, 代码区就是代码窗口 RECT rcChild1; // MDI下第一层窗口的移动位置, 基于MDIClient这个窗口的位置修改 RECT rcChild2; // MDI下第二层窗口的移动位置, 基于MDIClient下的第一层窗口的位置修改 RECT rcChild3; // MDI下第三层窗口的移动位置, 基于MDIClient下的第二层窗口的位置修改 RECT rcChild4; // MDI下第四层窗口的移动位置, 基于MDIClient下的第三层窗口的位置修改 }*LPIRE_STRUCT_MDICLIENT_MOVE_EVENT;</code></pre> <h3>IRE_STRUCT_TAB_SELCHANGE</h3> <p>数据类型原型</p> <pre><code>// 代码切换选择夹选中被改变事件结构 typedef struct IRE_STRUCT_TAB_SELCHANGE { int index; // 切换后的索引, 如果为-1要么是代码修改要么就是选择夹空了 int indexOld; // 切换前的索引 HWND hWnd; // 切换后选择夹里的窗口句柄, 工作夹/状态夹暂时没有使用这个成员 HWND hWndOld; // 切换前选择夹里的窗口句柄, 工作夹/状态夹暂时没有使用这个成员 }*LPIRE_STRUCT_TAB_SELCHANGE;</code></pre> <h3>IRE_STRUCT_HOOKARG</h3> <p>数据类型原型</p> <pre><code>typedef struct IRE_STRUCT_HOOKARG { int code; // 详情请参考 SetWindowsHookEx 回调函数说明 WPARAM wParam; // 详情请参考 SetWindowsHookEx 回调函数说明 LPARAM lParam; // 详情请参考 SetWindowsHookEx 回调函数说明 LRESULT ret; // 拦截事件的返回值 }*LPIRE_STRUCT_HOOKARG;</code></pre> <h3>IRE_STRUCT_BACKGROUND_DRAW</h3> <p>数据类型原型</p> <pre><code>// 背景被绘画事件结构 typedef struct IRE_STRUCT_BACKGROUND_DRAW { LPCANVAS hCanvas; // dx使用的绘画句柄, 需要gdi/gdi+的话请使用 iDraw_canvas_getdc() 获取绘画DC int cxClient; // 宽度 int cyClient; // 高度 }*LPIRE_STRUCT_BACKGROUND_DRAW;</code></pre> <h3>IRE_STRUCT_MSG</h3> <p>数据类型原型</p> <pre><code>// 消息事件的消息参数 typedef struct IRE_STRUCT_MSG { HWND hWnd; // 触发消息的窗口句柄 UINT message; // 消息值 WPARAM wParam; // 参数1 LPARAM lParam; // 参数2 }*LPIRE_STRUCT_MSG;</code></pre> <h3>IRE_STRUCT_TOOLSTATE_CHANGE</h3> <p>数据类型原型</p> <pre><code>// 工具条状态改变事件结构 typedef struct IRE_STRUCT_TOOLSTATE_CHANGE { HWND hWnd; // 被改变的工具条句柄 int id; // 触发改变状态的按钮ID int state; // 状态 }*LPIRE_STRUCT_TOOLSTATE_CHANGE;</code></pre> <h3>IRE_STRUCT_MDICREATE</h3> <p>数据类型原型</p> <pre><code>// MDI被创建事件参数 typedef struct IRE_STRUCT_MDICREATE { HWND hWnd; // MDI窗口句柄 LPMDICREATESTRUCTA mcs; // MDI创建窗口结构, 易语言窗口都是A版, 这里接收的就是A版的结构 }*LPIRE_STRUCT_MDICREATE;</code></pre> <h3>IRE_STRUCT_EIDE_SELCHANGEDINFO</h3> <p>数据类型原型</p> <pre><code>// 代码行号被改变事件参数 typedef struct IRE_STRUCT_EIDE_SELCHANGEDINFO { IEIDE_CodeManage* pCodeManage; // 代码管理类指针 int line; // 当前选中行号 int oldLine; // 选中当前行之前的行号 int oldLineCol; // 选中当前行之前的列号 }*LPIRE_STRUCT_EIDE_SELCHANGEDINFO;</code></pre> <h3>IRE_STRUCT_AUTOHIDE_MOVE</h3> <p>数据类型原型</p> <pre><code>// 自动隐藏的窗口被调整尺寸 typedef struct IRE_STRUCT_AUTOHIDE_MOVE { HWND hWnd; // 被移动的窗口 RECT rc; // 移动的位置 }*LPIRE_STRUCT_AUTOHIDE_MOVE;</code></pre> </blockquote>

页面列表

ITEM_HTML