| | | PFC编程基础 | | 2002-07-08·
· ··
| 上一页 1 2 3 4 5 下一页 如何使用属性对象
PFC提供了许多专门的属性用户对象。这些用户对象有如下特征:
l_ 包含公有性质的实例变量 l_ 自动实例化 l_ 名称以attrib结尾 l_ 通常用于向PFC的pre_event传递信息,例如pfc_PreAbout l_ 可扩展,你可以在其中自己定义其他的实例变量。
因为,你有可能会扩展这些对象。因此,PFC使用对象而不使用对象。 同样你还可以定义对象函数,做到更随意的控制这些对象。
这些属性对象有:
属性对象有关的用法
n_cst_aboutattrib Pfc_Pre_About(n_cst_appmanager) 调用n_cst_appmanager的of_About函数打开about对话框 n_cst_calculatorattrib Constructor(u_calculator) 内部自动调用n_cst_dirattrib File service object 内部自动调用 N_cst_dwobjectattrib Of_Describe(n_cst_dssrv与n_cst_dwsrv) 函数Of_De scribe返回DataWindow中的对象属性。 n_cst_dwproperyattrib DataWindow Properties objects 内部自动调用 n_cst_errorattrib Error message service 用于传递显示内容到w_message窗口
n_cst_filterattrib DataWindow filter service 用于传递信息到filter对话框
n_cst_findattrib DataWindow find service 传递信息到Find对话框 n_cst_itemattrib PFC ListBox, PictureListBox, and TreeView 内部自动调用
n_cst_linkageattr b DataWindow linkage service 内部自动调用 n_cst_logonattrib Pfc_PreLogonDlg (n_cst_appman ger) 调用n_cst_appmanager的of_LogonDlg函数打开w_logon窗口 n_cst_mruattrib MRU service 用于窗体的pfc_MRUProcess和pfc_PreMRUSave事 件 n_cst_restoreroattrib DataWindow row manager service 内部自动调用 n_cst_returnattrib DataWindow filter and sort services 内部自动调用 n_cst_selectionattrib Selection service Populated with arguments to th e n_cst_selection of_Open function n_cst_sortattrib DataWindow sort service 用于传递信息到Sort对话框 n_cst_splashattrib Pfc_PreSplash event (n_cst_appman ger) 调用n_cst_ap pmanager的of_Splash函数打开w_splash 。 n_cst_sqlattrib SQL service 该属性对象中含有SQL语句的部分内容。 n_cst_textstyleattrib PFC RichTextEdit control 用于设置和获取text属性(黑体、斜体等)。 n_cst_toolbarattrib Pfc_PreToolbars event (w_frame) 调用w_frame的pfc_Toolbars事件打开w_toolbars 。 n_cst_zoomattrib DataWindow print preview service 内部自动调用 | PFC的常量
许多PFC对象都包含了常量。使用常量使得程序更加易读。例如:下面两段代码同样是设置Datawindow的linkage风格,但是第二段则显得更加容易理解:
// 1 = Filter linkage style. dw_emp.inv_linkage.of_SetStyle(1)
// FILTER 作为一个常量 dw_emp.inv_linkage.of_SetStyle (dw_emp.inv_linkage.FILTER) | 约定:PFC的所有常量都采用大写。
消息路由
消息路由器可以用于任何一个对象与窗体之间的通讯。不过,大部分时候都是用于菜单与窗体之间的消息传递。它提供了一种查找算法用于确定哪个对象来接收消息。
使用消息路由时:
l_ 你菜单中的代码只需要知道代用哪个事件,你无须知道当前的窗口时哪个,或者与其相关的对象名称。 l_ 你的窗口无须维护用户事件,只需简单调用DataWindow的事件即可。从而减少了窗口需要维护的事件数量。
Message = user event
经过消息路由传递的消息实际上就是用户事件名。窗口、控件收到这些消息后就会调用相应的事件。
内置的debug消息
消息路由机制还提供了内置的debug
函数of_SendMessage的工作流程
当用户选择菜单项时,Clicked事件中的代码便以欲触发的用户事件名为参数(字符串的形式)调用of_SendMessage函数。Of_SendMessage调用n_cst_menu的of_SendMessage函数,n_cst_menu的of_SendMessage将会调用窗体的pfc_MessageRou ter事件,pfc_MessageRouter事件将会调用你所要触发的用户事件(即在Clicke d中传递字符串参数)。
在MDI与SDI应用程序中,函数Of_SendMessage调用pfc_MessageRouter时将有所不同。
消息路由是菜单与窗口之间的通讯桥梁。你不可以通过按钮来触发pfc_MessageRouter事件。因为,消息路由会调用GetFocus函数判断当前控件。这样当你按下按钮时,按钮便成了当前控件。
上一页 1 2 3 4 5 下一页 | | | 感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|
|