設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 869|回復: 0
打印 上一主題 下一主題

IFS客户端窗口句柄(handle)

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2016-1-28 15:54:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
IFS客户端窗口句柄有:
hWndForm,hWndItem,hWndMDI,hWndParent,i_hWndFrame,i_hWndSelf,i_hWndParent
1.hWndForm:
       为Centura(非IFS)内置Windows handle类型变量,在不同的上下文有不同的含义:
       内部函数(Internal Function),窗口函数(Window Function),类函数(Class Function): hWndForm为调用该函数的顶层窗口的句柄;
       菜单处理(Menu Actions): hWndForm 为包含该菜单的顶层窗口的句柄;
       消息处理(Message Actions): hWndForm为接收该消息的顶层窗口的句柄;但child table例外,在它的消息里hWndForm为该子窗口的句柄.
       MDI窗口:在MDI函数,消息处理(message actions)以及菜单处理中hWndForm为最顶层MDI子窗口的句柄.
2.hWndItem:和hWndForm类似,但为当前窗口或控件的句柄;
3.hWndMDI:为Centura(非IFS)内置Windows handle类型变量,为当前MDI窗口的句柄,若没有则为空,对于IFS hWndMDI永远不为空;
4.hWndParent:为Centura(非IFS)内置Windows handle类型变量当前窗口的父窗口;
5.i_hWndFrame,i_hWndSelf,i_hWndParent:IFS在cObjectRelationManager类定义的三个句柄,
       分别是顶层窗口(仅包括DialogBox,Form,Table窗口以及子窗口)句柄,当前窗口句柄,父窗口句柄;
       只适用于IFS框架定义的窗口或控件类型,即继承自cObjectRelationManager,一般的Centura的标准窗口或控件是不能使用这三个变量的;
i_hWndFrame使用方法为[i_hWndFrame.窗体ID.子窗体],例如:i_hWndFrame.frmInventoryPart.dfsCode
i_hWndSelf:为当前窗口句柄,根据上下文而变化,出现这样的代码时候,一般会报错:i_hWndSelf.frmInventoryPart.dfsCode
例如若在DataField内的,i_hWndSelf为DataField的句柄,i_hWndParent才为上级窗口的句柄;
i_hWndParent:也根据调用的上下文而变,即同一环境中i_hWndParent=SalParentWindow(i_hWndSelf);
由于上面的差别所以使用QualifiedItemNameGet( i_hWndFrame )和QualifiedItemNameGet( i_hWndSelf )是不同的;
需要指明的是IFS窗体基本都继承自cObjectRelationManager,
所以hWndForm.frmInventoryPart.dfsCode相当于i_hWndFrame.frmInventoryPart.dfsCode,但一般使用后者;
以上"窗口"若未特别指明,含义包括DataField,ComboBox等控件;
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-5-16 19:21 , Processed in 0.225143 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表