回 帖 发 新 帖 刷新版面

主题:关于用Screen做主窗口的程序移植问题请教

以前用_screen作为主窗口写了一个程序,现在想换成用一个表单来作为主窗口,关于移植想请教几点:

1.表单主窗口上如何放置工具栏?

2.其他现成的表单都设置为了“在顶层表单中”的,那么,在移植时是否还需要修改该属性?

3.如何放置菜单在该表单窗口中?

4.其他通过点击菜单项才调用的子表单,需要做进一步的处理么?如果要,该怎么处理?

谢谢!

回复列表 (共9个回复)

沙发

1.表单上放工具栏,建立表单集,表单控件第二个,添加一个类。就行了。就是你的工具栏类,
2.这个,如果你的主窗口表单是顶层表单,改不改都可以。
3.  首先将该表单的showwindows设置为2—顶层表单。
    建立的菜单,需要在菜单的常规选项对话框中将:“顶层表单”复选框给选中。
    在需要调用的表单的Init事件代码中调用菜单即可,代码为:do 菜单文件名.mpr with this,"变量名" 
4.最好把所有的子表单的thisform.WindowType = 1这样,你的表单在运行后,其它表单不会得到焦点包括主表单

板凳

再问:如果以screen为主窗口,如何在它上面设置右键菜单?也就是说,我在屏幕上点右键后,出现一个快捷菜单,然后可以选择相应的功能项执行。

有兴趣的朋友可以看看马建农的《田径运动会管理系统》软件,它就是这么设计的。想研究一下。

3 楼

在你的主程序里输入
ON KEY LABEL RIGHTMOUSE do XXX.mpr 

这个XXX.mpr是你提前做的快捷菜单

4 楼

要取消其功能,用:ON KEY LABEL RIGHTMOUSE

5 楼

我这样做了之后,当在窗口中点击右键时确实能弹出快捷菜单,但是现在有一个问题:当右键菜单出现后,将鼠标移动到空白区域再次点击右键,则弹出提示:“不能重定义正在使用的弹出式菜单”,点“忽略”后提示“Activate popup指定的菜单正在使用。”,请问如何解决这个问题。谢谢!

6 楼

这个问题我也原来遇到过,是CBL518老师给我解决的,那是04年的时候啦,
我忘 了当时 是怎么解决的,让我再想想办法。

7 楼

最简单的办法就是在你的MPR文件开头加一个,
ON ERROR retu 

就ok了,

8 楼

谢谢,不知道当年是怎么解决的这个问题。能否告知?

9 楼

当年是,
在mpr文件前加一个,。这样,
if POPUP("快捷菜单s")
    retu
endif

我来回复

您尚未登录,请登录后再回复。点此登录或注册