主题:关于用Screen做主窗口的程序移植问题请教
ihorse
[专家分:970] 发布于 2009-08-17 11:48:00
以前用_screen作为主窗口写了一个程序,现在想换成用一个表单来作为主窗口,关于移植想请教几点:
1.表单主窗口上如何放置工具栏?
2.其他现成的表单都设置为了“在顶层表单中”的,那么,在移植时是否还需要修改该属性?
3.如何放置菜单在该表单窗口中?
4.其他通过点击菜单项才调用的子表单,需要做进一步的处理么?如果要,该怎么处理?
谢谢!
回复列表 (共9个回复)
沙发
homayzh [专家分:7040] 发布于 2009-08-17 16:57:00
1.表单上放工具栏,建立表单集,表单控件第二个,添加一个类。就行了。就是你的工具栏类,
2.这个,如果你的主窗口表单是顶层表单,改不改都可以。
3. 首先将该表单的showwindows设置为2—顶层表单。
建立的菜单,需要在菜单的常规选项对话框中将:“顶层表单”复选框给选中。
在需要调用的表单的Init事件代码中调用菜单即可,代码为:do 菜单文件名.mpr with this,"变量名"
4.最好把所有的子表单的thisform.WindowType = 1这样,你的表单在运行后,其它表单不会得到焦点包括主表单
板凳
ihorse [专家分:970] 发布于 2009-08-18 14:27:00
再问:如果以screen为主窗口,如何在它上面设置右键菜单?也就是说,我在屏幕上点右键后,出现一个快捷菜单,然后可以选择相应的功能项执行。
有兴趣的朋友可以看看马建农的《田径运动会管理系统》软件,它就是这么设计的。想研究一下。
3 楼
homayzh [专家分:7040] 发布于 2009-08-18 15:47:00
在你的主程序里输入
ON KEY LABEL RIGHTMOUSE do XXX.mpr
这个XXX.mpr是你提前做的快捷菜单
4 楼
homayzh [专家分:7040] 发布于 2009-08-18 15:51:00
要取消其功能,用:ON KEY LABEL RIGHTMOUSE
5 楼
ihorse [专家分:970] 发布于 2009-08-18 20:37:00
我这样做了之后,当在窗口中点击右键时确实能弹出快捷菜单,但是现在有一个问题:当右键菜单出现后,将鼠标移动到空白区域再次点击右键,则弹出提示:“不能重定义正在使用的弹出式菜单”,点“忽略”后提示“Activate popup指定的菜单正在使用。”,请问如何解决这个问题。谢谢!
6 楼
homayzh [专家分:7040] 发布于 2009-08-18 22:56:00
这个问题我也原来遇到过,是CBL518老师给我解决的,那是04年的时候啦,
我忘 了当时 是怎么解决的,让我再想想办法。
7 楼
homayzh [专家分:7040] 发布于 2009-08-18 23:06:00
最简单的办法就是在你的MPR文件开头加一个,
ON ERROR retu
就ok了,
8 楼
ihorse [专家分:970] 发布于 2009-08-19 11:55:00
谢谢,不知道当年是怎么解决的这个问题。能否告知?
9 楼
homayzh [专家分:7040] 发布于 2009-08-20 08:21:00
当年是,
在mpr文件前加一个,。这样,
if POPUP("快捷菜单s")
retu
endif
我来回复