在datewindow中使用弹出菜单遇见的常见问题,在线等待。。在线等待。。。
问题1:怎么在mdi中准确定位弹出菜单的位置(右键单击记录,菜单在右边出现)
问题2:我设置弹出菜单项为“删除”,怎么准确的把定位的记录删除,代码怎么写啊
问题点数:20、回复次数:13Top
1 楼aqua_w(十月)回复于 2002-05-30 10:21:47 得分 0
mdi_1.m_main.popmenu(pointx(),pointy())
Top
2 楼ddtid(竹雨)回复于 2002-05-30 10:26:11 得分 0
1、m_pop.popmenu(this.x+this.pointerx(), this.y+this.pointery())
2、在dw中定义一个自定义事件,比如ue_delete
菜单中出发这个事件 dw_1.event ue_delete()
在ue_delete事件中写:
long ll_row
ll_row = getrow()
if ll_row <= 0 then return
deleterow(row)
//你想从数据库删除,需要update()
Top
3 楼jimly(jimly)回复于 2002-05-30 10:36:23 得分 10
1、
datawindow lw
lw=弹出菜单的窗口
做通用函数可以用getparentwindow函数获得lw
im_popup.popmenu(lw.pointerx(),lw.pointery())
2、im_popup加一个instance, datawindow idw
弹出前
im_popup.idw=dw_1
菜单就知道操作哪个数据窗口了
idw.getrow()就是要删除的当前行
Top
4 楼pei(一笑)回复于 2002-05-30 10:36:27 得分 0
要做的灵活一些,定义一个公共变量datawindow型,随时把数据窗口对象穿给你的菜单Top
5 楼ddtid(竹雨)回复于 2002-05-30 10:46:06 得分 0
其实还可以做得更灵活
在菜单中定义一个实例变量Powerobject Anyobject
预先定义一些菜单项,其代码为:Anyobject.DYNAMIC event ue_item1() (比如)
然后你使用这个菜单得是时候,先定义Anyobject变量
比如 m_pop.anyoject = dw_1
在dw_1中定义各个用户对象
用一个菜单函数定义菜单项得名称
用一个菜单函数不显示没有定义得菜单项
呵呵,就可以通用了
我这里有一个封装好了的,要吗?
Top
6 楼jimly(jimly)回复于 2002-05-30 10:48:35 得分 0
可以这样做:
定义一个弹出菜单叫没m_dwpopuop,其有一个instance变量datawindow idw
在数据窗口中定义一个instance变量 m_dwpopup im_popup
在constructor 和destructor中create、destroy im_popup
可以创建所有从m_dwpopup继承的弹出菜单
在数据窗口的rbuttondown事件中写代码
window lw
im_popup.idw=this
lw=getparentwindow(this) //参照pfc的同名函数,也可lw=im_popup.parentwindow一样好用
im_popup.popmenu(lw.pointerx(),lw.pointery())
把这个数据窗口做为基类,以后所有的数据窗口就有弹出菜单了Top
7 楼click202(食神)回复于 2002-05-30 10:48:40 得分 0
出现null object reference at .....
怎么回事啊Top
8 楼click202(食神)回复于 2002-05-30 10:51:40 得分 0
zerofighter@163.comTop
9 楼click202(食神)回复于 2002-05-30 10:52:16 得分 0
zerofighter@163.comTop
10 楼jimly(jimly)回复于 2002-05-30 11:00:15 得分 0
没有createTop
11 楼ddtid(竹雨)回复于 2002-05-30 11:01:00 得分 10
收到之后回个mail哈,呵呵
我的信箱已经很久没有信了Top
12 楼suziniren(泥人)回复于 2002-05-30 11:57:28 得分 0
1、mdi_1.m_main.popmenu(pointx(),pointy())
2、楼上 jimly(一脚) 说得比较详细了。。
Top
13 楼banalman(IT解放者)回复于 2002-05-30 13:45:53 得分 0
1 window ldw
ldw=getparent()
m_name.popup(ldw.pointx(),ldw.pointy())
2 dw_1.getclickedrow()Top
14 楼jmsofts(jmsofts)回复于 2002-06-05 21:21:23 得分 0
gzTop




