import { POINT, SIZE } from "soui4/Basic"; import { ILvAdapter, IMcAdapter, ITvAdapter } from "soui4/IAdapter"; import { IBitmapS } from "soui4/IImage"; import { IObjRef } from "soui4/IObjRef"; import { ISkinObj } from "soui4/ISkinObj"; import { IStringA } from "soui4/IString"; import { IWindow } from "soui4/IWindow"; export class ICtrl extends IObjRef{ /** * @brief 转换为IWindow*接口 * @return IWindow*接口 */ ToIWindow() :IWindow; } export class IOsrPanel extends ICtrl{ /** * @brief 设置在列表中对应的索引 * @param index -- 索引值,在listview中它是一个索引号,在treeview中它是一个HTREEITEM值 * @return */ SetItemIndex( index:LPARAM ) :void; /** * @brief 获取在列表中的索引 * @return LPARAM 在列表中的索引 */ GetItemIndex() :LPARAM; /** * @brief 设置列表项的用户数据 * @param dwData -- 用户数据 * @return */ SetItemData( dwData:LPARAM ) :LPARAM; /** * @brief 获取在列表中的用户数据 * @return LPARAM 在列表中的用户数据 */ GetItemData() :LPARAM; /** * @brief 将panel的坐标转换为host坐标 * @param[in,out] POINT *pt 窗口坐标 * @return void */ PtToHost( pt:LPPOINT) :LPARAM; } export function QiIOsrPanel(wnd:IWindow):IOsrPanel; export class IItemPanel extends IOsrPanel{ /** * @brief 设置列表项的skin * @param pSkin -- 列表项的skin * @return */ SetSkin(pSkin:ISkinObj):void; /** * @brief 设置列表项的颜色配置 * @param crBk -- 背景颜色 * @param crSelBk -- 选中状态的背景颜色 * @return */ SetColor(crBk:COLORREF , crSelBk:COLORREF ):void; } export function QiIItemPanel(wnd:IWindow):IItemPanel; export class IComboBase extends ICtrl{ /** * SComboBoxBase::GetCurSel * @brief 获取选中值索引 * @return 返回int * * Describe 获取当前选中索引 */ GetCurSel() :int; /** * SComboBoxBase::GetCount * @brief 获取下拉项个数 * @return 返回int * * Describe 获取下拉项个数 */ GetCount() :int; /** * SComboBoxBase::SetCurSel * @brief 设置当前选中 * @param int iSel -- 选中索引 * * Describe 设置当前选中 */ SetCurSel( iSel:int ) :boolean; /** * @brief 获取指定项文本数据 * @param iItem --索引号 * @param bRawText --获取原始文本标志 * @param[out] str 输出字符串对象 * @return boolean TRUE-成功 * @remark bRawText为TRUE时输出未翻译的文本 */ GetItemText( iItem:int , bRawText:boolean , str:IStringA) :boolean; /** * FindString * @brief 查找字符串位置 * @param LPCTSTR pszFind -- 查找目标 * @param int nAfter -- 开始位置 * @return int -- 目标索引,失败返回-1。 * Describe */ FindStringA( pszFind:string , nAfter:int /* = -1*/, bPartMatch:boolean /* = TRUE*/) :int; ////////////////////////////////////////////////////////////////////////// /** * SComboBoxBase::DropDown * @brief 下拉事件 * * Describe 下拉事件 */ DropDown() :void; /** * SComboBoxBase::CloseUp * @brief 下拉关闭 * * Describe 下拉关闭 */ CloseUp() :void; /** * @brief 查询DropDown状态标志 * @return TRUE-当前ComboBase为下拉列表 * @remark 内部使用方法 */ IsDropdown() :boolean; /** * @brief 设置下拉状态标志 * @param bDropdown -- TRUE:下拉列表 * @return * @remark 内部使用方法 */ SetDropdown( bDropdown:boolean) :boolean; } export function QiIComboBase(wnd:IWindow):IComboBase; export class IComboBox extends IComboBase{ /** * SComboBox::GetItemData * @brief 获取附加数据 * @param UINT iItem -- 选项值 * * Describe 获取附加数据 */ GetItemData( iItem:UINT ) :number; /** * SComboBox::SetItemData * @brief 设置附加数据 * @param UINT iItem -- 索引值 * @param LPARAM lParam -- 附加值 * * Describe 设置附加数据 */ SetItemData( iItem:UINT , lParam:LPARAM ) :boolean; /** * SComboBox::InsertItem * @brief 插入新项 * @param UINT iPos -- 位置 * @param LPCTSTR pszText -- 文本值 * @param int iIcon -- 图标 * @param LPARAM lParam -- 附加值 * * Describe 插入新项 */ InsertItem( iPos:int , pszText:string , iIcon:int , lParam:LPARAM ) :number; /** * SComboBox::DeleteString * @brief 删除某一项 * @param UINT iItem -- 索引值 * * Describe 删除某一项 */ DeleteString( iPos:int ) :boolean; /** * SComboBox::ResetContent * @brief 删除所有项 * * Describe 设置附加数据 */ ResetContent() :void; /** * @brief 获取IListBox接口 * @return IListBox * */ GetIListBox():IListBox; } export function QiIComboBox(wnd:IWindow):IComboBox; export class IComboView extends IComboBase{ /** * @brief 获取ListView接口 * @return IListView * */ GetIListView():IListView; } export function QiIComboView(wnd:IWindow):IComboView; export class IImageWnd extends ICtrl{ /** * @brief 设置skin * @param pSkin -- skin对象 * @param iFrame -- skin的子图索引 * @param bAutoFree -- 控件管理pSkin标志,为TRUE时调用方可以释放该Skin * @return boolean TRUE-成功,FALSE-失败 */ SetSkin( pSkin:ISkinObj, iFrame:int, bAutoFree:boolean) :boolean; /** * SImageWnd::GetSkin * @brief 获取资源 * @return 返回值ISkinObj指针 * * Describe 获取资源 */ GetSkin() :ISkinObj; /** * SImageWnd::SetImage * @param IBitmap * pBitmap -- 图片对象 * @param FilterLevel fl -- FilterLevel * @return void * * Describe 设置绘制图片 */ SetImage( pBitmap:IBitmapS, fl:FilterLevel) :void; /** * @brief 获取当前设置的IBitmapS对象 * @return IBitmapS * -- 当前设置的IBitmapS对象 */ GetImage():IBitmapS; /** * SImageWnd::SetIcon * @param int nSubID -- 子图在Skin中的索引号 * @brief 设置图标 * @return 返回值BOOL 成功--TRUE 失败--FALSE * * Describe 设置图标 */ SetIcon( nSubID:int ) :boolean; } export function QiIImageWnd(wnd:IWindow):IImageWnd; export class IAnimateImgWnd extends ICtrl{ /** * SAnimateImgWnd::Start * @brief 启动动画 * * Describe 启动动画 */ Start() :void; /** * SAnimateImgWnd::Stop * @brief 停止动画 * * Describe 停止动画 */ Stop() :void; /** * SAnimateImgWnd::IsPlaying * @brief 判断动画运行状态 * @return 返回值是动画状态 TRUE -- 运行中 * * Describe 判断动画运行状态 */ IsPlaying() :boolean; } export function QiIAnimateImgWnd(wnd:IWindow):IAnimateImgWnd; export class IProgress extends ICtrl{ /** * SProgress::SetValue * @brief 设置进度条进度值 * @param int nValue -- 进度值 * @return 返回值是 TRUE -- 设置成功 * * Describe 设置进度条进度值 */ SetValue( nValue:int ) :boolean; /** * SProgress::GetValue * @brief 获取进度值 * @return 返回值是int * * Describe 获取进度值 */ GetValue() :number; /** * SProgress::SetRange * @param int nMin -- 进度最小值 * @param int nMax -- 进度最大值 * @brief 设置进度值最小大值 * * Describe 设置进度值 */ SetRange( nMin:int , nMax:int ) :void; /** * SProgress::GetRange * @param int nMin -- 进度最小值 * @param int nMax -- 进度最大值 * @brief 获取进度值最小大值 * * Describe 获取进度值 */ GetRange(pMin:PINT, pMax:PINT) :void; /** * SProgress::IsVertical * @brief 判断进度条是否为竖直状态 * @return 返回值是 TRUE -- 竖直状态 * * Describe 获取进度值 */ IsVertical() :boolean; } export function QiIProgress(wnd:IWindow):IProgress; export class IPanel extends ICtrl{ /** * @brief 显示/隐藏滚动条 * @param wBar 滚动条标志,see ScrollBarID * @param bShow TRUE-显示,FALSE-隐藏 * @return */ ShowScrollBar( wBar:int , bShow:boolean ) :boolean; /** * @brief Enable/Disable滚动条 * @param wBar 滚动条标志,see ScrollBarID * @param bShow TRUE-显示,FALSE-隐藏 * @return */ EnableScrollBar( wBar:int , bEnable:boolean) :boolean; /** * @brief 获取滚动条Enable状态 * @param bVertical -- TRUE-垂直滚动条 * @return TRUE-enable */ IsScrollBarEnable( bVertical:boolean ) :boolean; /** * @brief 设置滚动条数据 * @param si --滚动条数据 * @param bVertical -- TRUE-垂直滚动条 * @return */ SetScrollInfo( si:SCROLLINFO , bVertical:boolean) :void; /** * @brief 设置滚动条位置 * @param bVertical -- TRUE-垂直滚动条 * @param nNewPos -- 滚动位置 * @param bRedraw -- 重绘标志 * @return */ SetScrollPos( bVertical:boolean , nNewPos:int , bRedraw:boolean ) :boolean; /** * @brief 获取滚动条位置 * @param bVertical -- TRUE-垂直滚动条 * @return 滚动条位置 */ GetScrollPos( bVertical:boolean ) :number; /** * @brief 设置滚动条范围 * @param bVertical -- TRUE-垂直滚动条 * @param nMinPos -- 最小值 * @param nMaxPos -- 最大值 * @param bRedraw -- 重绘标志 * @return TRUE-成功 */ SetScrollRange( bVertical:boolean , nMinPos:int , nMaxPos:int , bRedraw:boolean ) :boolean; /** * @brief 获取滚动条范围 * @param bVertical -- TRUE-垂直滚动条 * @param lpMinPos -- 最小值 * @param lpMaxPos -- 最大值 * @return */ GetScrollRange( bVertical:boolean, lpMinPos:LPINT , lpMaxPos:LPINT ) :boolean; /** * @brief 查询滚动条启用状态 * @param bVertical -- TRUE-垂直滚动条 * @return TRUE-启用 */ HasScrollBar( bVertical:boolean ) :boolean; } export function QiIPanel(wnd:IWindow):IPanel; export class IScrollView extends IPanel{ /** * @brief 获取视图尺寸 * @return SIZE-视图尺寸 */ GetViewSize() :SIZE /** * @brief 设置视图尺寸 * @param szView 视图尺寸 * @return */ SetViewSize( szView:SIZE ):void; /** * @brief 获取视图原点坐标 * @return POINT-原点坐标 */ GetViewOrigin() :POINT; /** * @brief 设置视图原点坐标 * @param pt 原点坐标 * @return */ SetViewOrigin( pt:POINT ) :void; } export function QiIScrollView(wnd:IWindow):IScrollView; export class IHeaderCtrl extends ICtrl{ /** * SHeaderCtrl::InsertItem * @brief 插入新项 * @param int iItem -- 新项索引 * @param LPCTSTR pszText -- 新项标题 * @param int nWidth -- 宽度 * @param boolean bDpiAware -- dpi aware * @param UINT fmt -- format flag * @param LPARAM lParam -- 附加参数 * @return 返回int * * Describe 插入新项 */ InsertItem( iItem:int , pszText:string , nWidth:int , fmt:UINT , lParam:LPARAM , bDpiAware:boolean /*=FALSE*/, fWeight:float /*=0.0f*/) :number; /** * SHeaderCtrl::GetItem * @brief 获得新项 * @param int iItem -- 索引 * @param SHDITEM *pItem -- 返回列表项结构 * @return 返回BOOL * * Describe 获得新项 */ GetItem( iItem:int , pItem:LPSHDITEM) :boolean; /** * @brief 设置表头项数据 * @param iItem --索引号 * @param pItem --数据项 * @return */ SetItem( iItem:int , pItem:SHDITEM) :boolean; /** * SHeaderCtrl::GetItemCount * @brief 获取列表项个数 * @return 返回int * * Describe 获取列表项个数 */ GetItemCount() :number; /** * SHeaderCtrl::GetTotalWidth * @brief 获得所有宽度 * @return 返回int * * Describe 获得所有宽度 */ GetTotalWidth( bMinWid:boolean ) :number; /** * @brief 表头自动填充父窗口宽度标志 * @return TRUE-表头自动填充父窗口宽度 */ IsAutoResize() :boolean; /** * SHeaderCtrl::GetItemWidth * @brief 获得指定项宽度 * @param int iItem -- 索引 * @return 返回int * * Describe 获得新项 */ GetItemWidth( iItem:int ) :number; /** * SHeaderCtrl::DeleteItem * @brief 删除指定项 * @param int iItem -- 索引 * @return 返回BOOL * * Describe 删除指定项 */ DeleteItem( iItem:int ) :boolean; /** * SHeaderCtrl::DeleteAllItems * @brief 删除所有项 * * Describe 获得新项 */ DeleteAllItems() :void; /** * @brief 设置表头项的排序标志 * @param iItem --表头项索引 * @param sortFlag --排序标志 * @remark 排序标志会传递到列表的排序回调接口,用户在回调接口中实现数据排序 */ SetItemSort( iItem:int , sortFlag:UINT ):void; /** * @brief 设置表头项是否隐藏 * @param iItem --表头项索引 * @param visible -- TRUE-显示,FALSE-隐藏 * @return */ SetItemVisible( iItem:int , visible:boolean ) :void; /** * @brief 查询表头项是否隐藏 * @param iItem --表头项索引 * @return boolean */ IsItemVisible( iItem:int ) :boolean; /** * @brief 获取表头项 * @param int iOrder -- show order * @return int item index * * Describe 获取表头项得位置 */ GetOriItemIndex( iOrder:int ) :number; /** * @brief 获取表头项得位置 * @param int iItem -- 索引 * @param LPRECT prc -- 表头项得位置 * * Describe 获取表头项得位置 */ GetItemRect( iItem:int ,prc:RECT ) :void; } export function QiIHeaderCtrl(wnd:IWindow):IHeaderCtrl; export class IListView extends IPanel{ /** * @brief 设置列表的Adapter * @param adapter -- Adapter对象 * @return boolean * @remark 通常只应该在列表初始化的时调用一次,列表会增加该Adapter的引用计数 */ SetAdapter( adapter:ILvAdapter) :boolean; /** * @brief 获取控件的Adapter对象 * @return ILvAdapter* - Adapter对象 */ GetAdapter() :ILvAdapter; /** * @brief 设置列表项位置定位器 * @param pItemLocator -- 位置定位器 * @remark 位置定位器是一个将索引号和列表显示位置相互映射的接口,通过实现位置定位器,用户可以控制列表项的显示大小 */ SetItemLocator( pItemLocator:IListViewItemLocator) :void; /** * @brief 获取位置定位器 * @return IListViewItemLocator * */ GetItemLocator() :IListViewItemLocator; /** * @brief 使指定行滚动到视图可见区 * @param iItem --行号 * @return */ EnsureVisible( iItem:int ) :void; /** * @brief 选中指定行 * @param iItem --行号 * @param bNotify --触发选中状态事件标志 * @return */ SetSel( iItem:int , bNotify:boolean ) :void; /** * @brief 获取当前选中行 * @return int 选中行索引,-1代表当前没有选中行 */ GetSel() :number; /** * @brief 热点测试 * @param pt -- 输入坐标 * @return IItemPanel *--坐标下的ItemPanel */ HitTest( pt:LPPOINT) :IItemPanel; } export function QiIListView(wnd:IWindow):IListView; export class IMcListView extends IPanel{ /** * @brief 设置列表的Adapter * @param adapter -- Adapter对象 * @return boolean * @remark 通常只应该在列表初始化的时调用一次,列表会增加该Adapter的引用计数 */ SetAdapter( adapter:IMcAdapter) :boolean; /** * @brief 获取控件的Adapter对象 * @return IMcAdapter* - Adapter对象 */ GetAdapter() :IMcAdapter; /** * @brief 设置列表项位置定位器 * @param pItemLocator -- 位置定位器 * @remark 位置定位器是一个将索引号和列表显示位置相互映射的接口,通过实现位置定位器,用户可以控制列表项的显示大小 */ SetItemLocator( pItemLocator:IListViewItemLocator) :void; /** * @brief 获取位置定位器 * @return IListViewItemLocator * */ GetItemLocator() :IListViewItemLocator; /** * @brief 使指定行滚动到视图可见区 * @param iItem --行号 * @return */ EnsureVisible( iItem:int ) :void; /** * @brief 选中指定行 * @param iItem --行号 * @param bNotify --触发选中状态事件标志 * @return */ SetSel( iItem:int , bNotify:boolean ) :void; /** * @brief 获取当前选中行 * @return int 选中行索引,-1代表当前没有选中行 */ GetSel() :number; /** * @brief 热点测试 * @param pt -- 输入坐标 * @return IItemPanel *--坐标下的ItemPanel */ HitTest( pt:LPPOINT) :IItemPanel; /** * @brief 获取表头控件 * @return IHeaderCtrl *--表头控件 */ GetIHeaderCtrl() :IHeaderCtrl; /** * @brief 插入一列 * @param nIndex --插入位置,-1代表append * @param pszText --文本 * @param nWidth --占用宽度 * @param fmt --显示格式 * @param lParam --自定义数据 * @param bDpiAware --宽度感知dpi缩放 * @param fWeight --宽度的weight属性 * @return 插入位置 */ InsertColumn( nIndex:int , pszText:string , nWidth:int , fmt:UINT , lParam:LPARAM , bDpiAware:boolean, fWeight:float) :number; /** * @brief 删除列 * @param iCol --列索引 * @return */ DeleteColumn( iCol:int ) :void; /** * @brief 获取列数 * @return int 列数 */ GetColumnCount() :number; } export function QiIMcListView(wnd:IWindow):IMcListView; export class ITreeView extends IPanel{ /** * @brief 设置列表的Adapter * @param adapter -- Adapter对象 * @return boolean * @remark 通常只应该在列表初始化的时调用一次,列表会增加该Adapter的引用计数 */ SetAdapter( adapter:ITvAdapter) :boolean; /** * @brief 获取控件的Adapter对象 * @return ILvAdapter* - Adapter对象 */ GetAdapter() :ITvAdapter; /** * @brief 设置列表项位置定位器 * @param pItemLocator -- 位置定位器 * @remark 位置定位器是一个将索引号和列表显示位置相互映射的接口,通过实现位置定位器,用户可以控制列表项的显示大小 */ SetItemLocator( pItemLocator:ITreeViewItemLocator ) :void; /** * @brief 获取位置定位器 * @return IListViewItemLocator * */ GetItemLocator() :ITreeViewItemLocator; /** * @brief 使指定行滚动到视图可见区 * @param hItem --HSTREEITEM * @return */ EnsureVisible( hItem:HSTREEITEM ) :void; /** * @brief 选中指定行 * @param hItem --HSTREEITEM * @param bNotify --触发选中状态事件标志 * @return */ SetSel( hItem:HSTREEITEM , bNotify:boolean ) :void; /** * @brief 获取当前选中行 * @return HSTREEITEM 选中行索引,0代表当前没有选中行 */ GetSel() :HSTREEITEM; /** * @brief 热点测试 * @param pt -- 输入坐标 * @return IItemPanel *--坐标下的ItemPanel */ HitTest(pt:LPPOINT) :IItemPanel; } export function QiITreeView(wnd:IWindow):ITreeView; export class ITileView extends IPanel{ /** * @brief 设置列表的Adapter * @param adapter -- Adapter对象 * @return boolean * @remark 通常只应该在列表初始化的时调用一次,列表会增加该Adapter的引用计数 */ SetAdapter( adapter:ILvAdapter) :boolean; /** * @brief 获取控件的Adapter对象 * @return ILvAdapter* - Adapter对象 */ GetAdapter() :ILvAdapter; /** * @brief 设置列表项位置定位器 * @param pItemLocator -- 位置定位器 * @remark 位置定位器是一个将索引号和列表显示位置相互映射的接口,通过实现位置定位器,用户可以控制列表项的显示大小 */ SetItemLocator( pItemLocator:ITileViewItemLocator) :void; /** * @brief 获取位置定位器 * @return ITileViewItemLocator * */ GetItemLocator() :ITileViewItemLocator; /** * @brief 使指定行滚动到视图可见区 * @param iItem --行号 * @return */ EnsureVisible( iItem:int ) :void; /** * @brief 选中指定行 * @param iItem --行号 * @param bNotify --触发选中状态事件标志 * @return */ SetSel( iItem:int , bNotify:boolean) :void; /** * @brief 获取当前选中行 * @return int 选中行索引,-1代表当前没有选中行 */ GetSel() :number; /** * @brief 热点测试 * @param pt -- 输入坐标 * @return IItemPanel *--坐标下的ItemPanel */ HitTest(pt:LPPOINT) :IItemPanel; } export function QiITileView(wnd:IWindow):ITileView; export class IListBox extends IPanel{ /** * SListBox::GetCount * @brief 获取项个数 * @return 返回int * * Describe 获取项个数 */ GetCount() :number; /** * SListBox::GetCurSel * @brief 获取当前选中项索引 * @return 返回int * * Describe 获取当前选中项索引 */ GetCurSel() :number; /** * SListBox::SetCurSel * @brief 设置选中项 * @param int nIndex -- 待选中索引 * * Describe 设置选中项 */ SetCurSel( nIndex:int, bNotifyChange:boolean /* = FALSE*/) :boolean; /** * SListBox::GetTopIndex * @brief 获取第一条可见记录索引 * @return 返回int * * Describe */ GetTopIndex() :number; /** * SListBox::SetTopIndex * @brief 设置第一条可见记录索引 * @param int nIndex -- 第一条可见记录索引 * * Describe */ SetTopIndex( nIndex:int ) :boolean; /** * SListBox::GetItemHeight * @brief 获取高度 * @return 返回int * * Describe 获取高度 */ GetItemHeight() :number; /** * SListBox::SetItemHeight * @brief 设置指定项高度 * @param int cyItemHeight -- 高度 * @return 返回 * * Describe 设置指定项高度 */ SetItemHeight( nItemHeight:int ) :void; /** * SListBox::GetItemData * @brief 获取附加数据 * @param int nIndex -- 选项索引 * @return 返回LPARAM * * Describe 获取附加数据 */ GetItemData( nIndex:int ) :LPARAM; /** * SListBox::SetItemData * @brief 设置选项附加数据 * @param int nIndex -- 选项索引 * @param LPARAM lParam -- 附加数据 * @return 返回BOOL * * Describe 设置选项附加数据 */ SetItemData( nIndex:int , lParam:LPARAM ) :boolean; /** * SListBox::GetText * @brief 获取指定项文本 * @param int nIndex -- 选项索引 * @param boolean bRawText -- 原始数据标志 * @return SStringT,列表项的原始字符串 * * Describe 获取指定项文本 */ GetIText( nIndex:int , bRawText:boolean /*= FALSE*/, str:IStringW) :boolean; /** * SListBox::DeleteAll * @brief 删除所有 * * Describe 删除所有 */ DeleteAll() :void; /** * SListBox::DeleteString * @brief 设置指定项文本 * @param int nIndex -- 选项索引 * @return 返回BOOL * * Describe 设置指定项文本 */ DeleteString( nIndex:int ) :boolean; /** * SListBox::AddString * @brief 添加文本 * @param LPCTSTR lpszItem -- 文本 * @param int nImage -- 图标 * @param LPARAM lParam -- 附加数据 * @return 返回int 索引 * * Describe 添加文本 */ AddString( lpszItem:string , nImage:int /*= -1*/, lParam:LPARAM /*= 0*/) :number; /** * SListBox::InsertString * @brief 插入文本 * @param int nIndex -- 索引 * @param LPCTSTR lpszItem -- 文本 * @param int nImage -- 图标 * @param LPARAM lParam -- 附加数据 * @return 返回int 索引 * * Describe 在某项插入文本 */ InsertString( nIndex:int , lpszItem:string, nImage:int /*= -1*/, lParam:LPARAM /*= 0*/) :number; /** * SListBox::EnsureVisible * @brief 设置某项显示 * @param int nIndex -- 索引 * * Describe 设置某项显示 */ EnsureVisible( nIndex:int ) :void; /** * @brief 查找字符串在列表中的位置 * @param iFindAfter --开始索引 * @param pszText --目标字符串 * @return int 找到的索引,-1代表没有找到 */ FindString( iFindAfter:int , pszText:string ) :number; } export function QiIListBox(wnd:IWindow):IListBox; export class IDateTimerPicker extends ICtrl{ /** * @brief 设置时间 * @param wYear --年 * @param wMonth --月 * @param wDay --日 * @param wHour --时 * @param wMinute --分 * @param wSecond --秒 * @return */ SetTime( wYear:WORD , wMonth:WORD , wDay:WORD , wHour:WORD , wMinute:WORD , wSecond:WORD ) :void; /** * @brief 获取当前时间 * @param[out] wYear --年 * @param[out] wMonth --月 * @param[out] wDay --日 * @param[out] wHour --时 * @param[out] wMinute --分 * @param[out] wSecond --秒 * @return */ GetTime( wYear:LPWORD, wMonth:LPWORD , wDay:LPWORD , wHour:LPWORD, wMinute:LPWORD , wSecond:LPWORD ) :void; /** * @brief 关闭下拉列表 * @return */ CloseUp() :void; /** * @brief 显示下拉列表 * @return */ DropDown():void; /** * @brief 清除数据 * @return */ Clear() :void; } export function QiIDateTimePicker(wnd:IWindow):IDateTimerPicker; export class ITreeCtrl extends IPanel{ /** * @brief 插入一个HSTREEITEM * @param lpszItem --显示文本 * @param nImage --图片索引 * @param nSelectedImage --选中状态的图片索引 * @param lParam --自定义数据 * @param hParent --父HSTREEITEM * @param hInsertAfter --前面的兄弟HSTREEITEM * @return HSTREEITEM--新插入HSTREEITEM */ InsertItem( lpszItem:string, nImage:int , nSelectedImage:int , lParam:LPARAM , hParent:HSTREEITEM, hInsertAfter:HSTREEITEM) :HSTREEITEM; /** * @brief 删除一个HSTREEITEM * @param hItem --待删除HSTREEITEM * @return boolean */ RemoveItem( hItem:HSTREEITEM ) :boolean; /** * @brief 删除所有数据 * @return */ RemoveAllItems() :void; /** * @brief 获取根节点 * @return HSTREEITEM --根节点 */ GetRootItem() :HSTREEITEM; /** * @brief 获取指定节点的下一个兄弟结点 * @param hItem --指定节点 * @return HSTREEITEM--下一个兄弟结点 */ GetNextSiblingItem( hItem:HSTREEITEM ) :HSTREEITEM; /** * @brief 获取指定节点的上一个兄弟结点 * @param hItem --指定节点 * @return HSTREEITEM--上一个兄弟结点 */ GetPrevSiblingItem( hItem:HSTREEITEM ) :HSTREEITEM; /** * @brief 获取指定结点的子节点 * @param hItem --指定结点 * @param bFirst -- TRUE:获取第一个子节点,FALSE:获取最后一个子节点 * @return HSTREEITEM--子节点 */ GetChildItem( hItem:HSTREEITEM , bFirst:boolean) :HSTREEITEM; /** * @brief 获取指定结点的父节点 * @param hItem --指定结点 * @return HSTREEITEM--父节点 */ GetParentItem( hItem:HSTREEITEM) :HSTREEITEM; /** * @brief 获取选中结点 * @return HSTREEITEM--选中结点 */ GetSelectedItem() :HSTREEITEM; /** * @brief 获取下一个结点 * @param hItem -- 当前结点 * @return HSTREEITEM--下一个结点 * @remark 有子节点时是第一个子节点,否则为下一个兄弟结点,也没有兄弟则是父节点的下一个兄弟 */ GetNextItem( hItem:HSTREEITEM) :HSTREEITEM; /** * @brief 排序子节点 * @param hItem --当前节点 * @param sortFunc --排序回调函数 * @param pCtx --回调函数的Context * @return */ SortChildren( hItem:HSTREEITEM , sortFunc:FunTreeSortCallback , pCtx:LPVOID) :void; /** * @brief 选中指定项 * @param hItem --指定项 * @param bEnsureVisible --自动滚动到可见区标志 * @return */ SelectItem( hItem:HSTREEITEM , bEnsureVisible:boolean) :boolean; /** * @brief 获取指定项的文本数据 * @param hItem --指定项 * @param[out] strText --文本数据 * @return boolean * @remark 不支持翻译 */ GetItemText( hItem:HSTREEITEM , strText:IStringA) :boolean; /** * @brief 设置文本数据 * @param hItem --指定项 * @param lpszItem --文本数据 * @return boolean */ SetItemText( hItem:HSTREEITEM , lpszItem:string ) :boolean; /** * @brief 获取指定项的图标显示数据 * @param hItem --指定项 * @param nImage --图片索引 * @param nSelectedImage --选中状态图片索引 * @return boolean */ GetItemImage( hItem:HSTREEITEM , nImage:LPINT, nSelectedImage:LPINT) :boolean; /** * @brief 设置指定项的图片索引 * @param hItem --指定项 * @param nImage --图片索引 * @param nSelectedImage --选中状态图片索引 * @return boolean */ SetItemImage( hItem:HSTREEITEM , nImage:int, nSelectedImage:int) :boolean; /** * @brief 获取指定项的自定义数据 * @param hItem --指定项 * @return LPARAM--自定义数据 */ GetItemData( hItem:HSTREEITEM) :LPARAM ; /** * @brief 设置指定项的自定义数据 * @param hItem --指定项 * @param lParam --自定义数据 * @return boolean */ SetItemData( hItem:HSTREEITEM , lParam:LPARAM ) :boolean; /** * @brief 查询指定项是否有子项 * @param hItem --指定项 * @return boolean TRUE:有子项 */ ItemHasChildren( hItem:HSTREEITEM ) :boolean ; /** * @brief 获取指定项的Check状态 * @param hItem --指定项 * @return int 0--unchecked,1--checked,2--part checked */ GetCheckState( hItem:HSTREEITEM ) :number; /** * @brief 设置指定项的Check状态 * @param hItem --指定项 * @param bCheck --TRUE:checked * @return */ SetCheckState( hItem:HSTREEITEM , bCheck:boolean ) :boolean; /** * @brief 展开或者收缩指定项的子项 * @param hItem --指定项 * @param nCode --标志位 * @return */ Expand( hItem:HSTREEITEM , nCode:UINT ) :boolean; /** * @brief 使指定项滚动到可见区 * @param hItem --指定项 * @return */ EnsureVisible( hItem:HSTREEITEM ) :boolean; } export function QiITreeCtrl(wnd:IWindow):ITreeCtrl; export class IHotKeyCtrl extends ICtrl{ /** * SHotKeyCtrl::SetRule * @brief 设置规则 * @param WORD wInvalidComp -- * @param WORD wModifier -- * * Describe 设置规则 */ SetRule( wInvalidComp:WORD , wModifier:WORD ) :void; /** * SHotKeyCtrl::SetHotKey * @brief 设置热键 * @param WORD vKey -- * @param WORD wModifiers -- * * Describe 设置热键 */ SetHotKey( wKey:WORD , wModifiers:WORD ) :void; /** * SHotKeyCtrl::GetHotKey * @brief 获取热键 * @param WORD &vKey -- * @param WORD wModifiers -- * * Describe 获取热键 */ GetHotKey( wKey:LPWORD, wModifers:LPWORD ) :void ; } export function QiIHotKeyCtrl(wnd:IWindow):IHotKeyCtrl; export class IRichEdit extends IPanel{ /** * IRichEdit::SaveRtf * @brief 保存数据到RTF文件 * @param LPCTSTR pszFileName -- 文件名 * @return DWORD 数据长度 * * Describe */ SaveRtf( pszFileName:string ) :number; /** * IRichEdit::LoadRtf * @brief 从RTF文件加载数据 * @param LPCTSTR pszFileName -- 文件名 * @return DWORD 数据长度 * * Describe */ LoadRtf( pszFileName:string ) :number; /** * IRichEdit::SetSel * @brief 设置选中 * @param long nStartChar -- 开始字符索引 * @param long nEndChar -- 结束字符索引 * @param boolean bNoScroll -- 禁止滚动标志 * * Describe 设置选中, 支持超长文本 */ SetSel( nStartChar:long , nEndChar:long , bNoScroll:boolean ) :void; /** * IRichEdit::ReplaceSel * @brief 替换选中项 * @param LPCWSTR pszText -- 替换数据 * @param boolean bCanUndo -- 允许Undo标志 * * Describe 替换选中项 */ ReplaceSel( pszText:string , bCanUndo:boolean) :void; /** * IRichEdit::GetWordWrap * @brief * @return 返回BOOL * * Describe */ GetWordWrap() :boolean; /** * IRichEdit::SetWordWrap * @brief * @param boolean fWordWrap -- word wrap标志 * * Describe */ SetWordWrap( fWordWrap:boolean ) :void; /** * IRichEdit::GetReadOnly * @brief 判断是否只读 * @return 返回BOOL * * Describe 判断是否只读 */ GetReadOnly() :boolean; /** * IRichEdit::SetReadOnly * @brief 设置只读 * @param boolean bReadOnly -- 是否只读 * @return 返回BOOL * * Describe 设置只读 */ SetReadOnly( bReadOnly:boolean ) :boolean; /** * IRichEdit::GetLimitText * @brief 获取最小文本长度 * @return 返回BOOL * * Describe 获取最小文本长度 */ GetLimitText() :number; /** * IRichEdit::SetLimitText * @brief 设置最小文本长度 * @param int nLength -- 长度 * @return 返回BOOL * * Describe 设置最小文本长度 */ SetLimitText( nLength:int ) :boolean; /** * IRichEdit::GetDefaultAlign * @brief 获取对齐方式 * @return 返回WORD * * Describe 设置最小文本长度 */ GetDefaultAlign() :number ; /** * IRichEdit::SetDefaultAlign * @brief 设置默认对齐方式 * @param WORD wNewAlign -- 对齐方式 * * Describe 设置默认对齐方式 */ SetDefaultAlign( wNewAlign:WORD ) :void; /** * IRichEdit::GetRichTextFlag * @brief 获取标志 * @return 返回BOOL * * Describe 获取标志 */ GetRichTextFlag() :boolean ; /** * IRichEdit::SetRichTextFlag * @brief 设置标志 * @param boolean fRich -- 标志 * * Describe 设置标志 */ SetRichTextFlag( fRich:boolean ) :void; /** * IRichEdit::SetRichTextFlag * @brief 设置标志 * @param boolean fRich -- 标志 * @return 返回LONG * * Describe 设置标志 */ GetDefaultLeftIndent() :number ; /** * IRichEdit::SetDefaultLeftIndent * @brief 设置缩进 * @param LONG lNewIndent -- 缩进字符数 * * Describe 设置缩进 */ SetDefaultLeftIndent( lNewIndent:LONG ) :void; /** * IRichEdit::SetSaveSelection * @brief * @param boolean fSaveSelection * @return 返回BOOL * * Describe */ SetSaveSelection( fSaveSelection:boolean ) :boolean; /** * IRichEdit::SetDefaultTextColor * @brief 默认文本颜色 * @param COLORREF cr -- 颜色 * @return 返回COLORREF * * Describe 设置默认文本颜色 */ SetDefaultTextColor( cr:COLORREF ) :COLORREF; } export function QiIRichEdit(wnd:IWindow):IRichEdit; export class IEdit extends IRichEdit{ /** * @brief 获取提示字符串 * @param[out] IStringT *pStr--提示字符串 * @return void * @remark 设置使用SetAttribute */ GetCueText(pStr:IStringW) :void; /** * @brief 获取提示字符串颜色 * @return COLORREF--提示字符串颜色 * @remark 设置使用SetAttribute */ GetCueColor() :COLORREF; } export function QiIEdit(wnd:IWindow):IEdit; export class ITabPage extends ICtrl{ /** * GetTitle * @brief 获取标题 * @return LPCTSTR --- 标题 * * Describe 获取标题 */ GetTitle() :string; /** * SetTitle * @brief 设置标题 * @param LPCTSTR lpszTitle --- 标题 * * Describe 设置标题 */ SetTitle( lpszTitle:string) :void; /** * GetIconIndex * @brief 获取图标索引 * @return int, 图标索引 */ GetIconIndex() :number ; /** * SetIconIndex * @brief 设置图标索引 * @param int iIcon -- 图标索引 * @return void */ SetIconIndex( iIcon:int ):void ; } export function QiITabPage(wnd:IWindow):ITabPage; export class ITabCtrl extends ICtrl{ /** * ITabCtrl::GetCurSel * @brief 获取当前选中 * @return 返回int * * Describe 获取当前选中 */ GetCurSel() :number; /** * ITabCtrl::SetCurSel * @brief 设置当前选中 * @param int nIndex -- 索引 * @return 返回BOOL * * Describe 获取当前选中 */ SetCurSel( nIndex:int ) :boolean; /** * ITabCtrl::SetItemTitle * @brief 设置标题 * @param int nIndex -- 索引 * @param LPCTSTR lpszTitle -- 标题 * @return 返回BOOL * * Describe 获取当前选中 */ SetItemTitle( nIndex:int , lpszTitle:string ) :boolean; /** * ITabCtrl::InsertItem * @brief 插入tab页面 * @param LPCWSTR lpContent -- XML描述的page信息 * @param int iInsert -- 位置 * @return 返回插入位置 * * Describe 插入tab页面 */ InsertItem( lpContent:string , iInsert:int /* = -1*/) :number; /** * ITabCtrl::GetItemCount * @brief 获取tab页面数 * @return 返回int * * Describe 获取tab页面数 */ GetItemCount() :number; /** * ITabCtrl::GetItem * @brief 获取指定tab页面 * @param int nIndex -- 索引 * @return 返回int * * Describe 获取当前选中 */ GetPage( nIndex:int ) :ITabPage; /** * ITabCtrl::RemoveItem * @brief 删除指定tab页面 * @param int nIndex -- 索引 * @param int nSelPage -- 选中页面 * @return 删除指定tab页面 * * Describe 获取当前选中 */ RemoveItem( nIndex:int , iSelPage:int /*= 0*/) :boolean; /** * ITabCtrl::RemoveAllItems * @brief 删除所有页面 * * Describe 删除所有页面 */ RemoveAllItems() :void; /** * ITabCtrl::GetPageIndex * @brief 获取指定页面的索引 * @param LPCTSTR pszName -- 查询字符串 * @param boolean bTitle -- * TRUE:pszName代表的是page的title属性,FALSE:pszName代表的是page的name属性 * @return 找到的页面索引号 * * Describe */ GetPageIndex( pszName:string, bTitle:boolean ) :number; } export function QiITabCtrl(wnd:IWindow):ITabCtrl; export class ISpinButtonCtrl extends ICtrl{ /** * @brief 设置值 * @param nValue --新值 * @return */ SetValue( nValue:int ) :void; /** * @brief 设置范围 * @param nMin --最小值 * @param nMax --最大值 * @return */ SetRange( nMin:int , nMax:int ) :void; /** * @brief 设置步长 * @param nStep --步长 * @return */ SetStep( nStep:UINT ) :void; /** * @brief 获取值 * @return int --当前值 */ GetValue() :number; /** * @brief 获取关联的窗口对象 * @return IWindow *--关联的窗口对象 */ GetIBuddy() :IWindow; } export function QiISpinButtonCtrl(wnd:IWindow):ISpinButtonCtrl; export class IIconWnd extends ICtrl{ /** * @brief SetIcon * @param HICON hIcon -- 图标资源句柄 * @return void * * Describe 图标资源 */ SetIcon( hIcon:HICON ) :void; } export function QiIIconWnd(wnd:IWindow):IIconWnd;