pb11.5 web开发 - 开发经验谈(小细节、大问题)

1、2009-10-15:w_main主窗体是mdi类型,在这个上面放了一个dw控件,做导航用

w_main的resize里调整了位置,但是效果不是很理想,而且还有很奇怪的现象

resize事件:
integer li_height,li_width,li_x,li_y
li_height = this.workspaceHeight()
li_width = this.workspaceWidth()
li_x=workspaceX()
li_y=workspaceY()
string ls_now
ls_now = string(now(),'hh:mm:ss fff')
messagebox('1-'+ls_now,'x='+string(workspacex())+'y='+string(workspacey())+'w='+string(li_width)+'h='+string(li_height))

dw_group.x=workspaceX()
dw_group.y=workspaceY()
dw_group.height =  li_height - 10

mdi_1.x = li_x + dw_group.x+dw_group.width
mdi_1.y = li_y + 4
mdi_1.height = dw_group.height
mdi_1.width  = li_width - dw_group.width - 8

messagebox('2-'+ls_now,'x='+string(mdi_1.x)+'y='+string(mdi_1.y)+'w='+string(mdi_1.height)+'h='+string(mdi_1.width))

解决:从PB11.5-EBF16640-3127升级到pb11.5.1 -EBF17123- 4566后,界面显示问题好了,可是问什么messagebox的顺序还是不正成呢,这个虽然不影响什么,但是我还是比较疑惑这个问题。 而且,在opensheet时的窗口在cs运行时可以最大化,bs却不能最大化,只有在打开第二opensheet时才最大化,很是疑惑。

 

2、2009-10-16:sheet窗口打开是不能根据设置实现最大化,而需要打开第二个sheet才可以最大化.

      ( 2009-10-22: 更正一下,由于之前看不出来是否最大化了,经过仔细观察,窗口可以最大化,但是窗口上的控件没有调整。)

解决:在open中写入

this.width= parentwindow ( ).dynamic wf_getmdiwidth()
this.height = parentwindow ( ).dynamic wf_getmdiheight()

wf_getmdiwidth()和wf_getmdiheight() 分别是mdi frame窗口的mdi大小

3、2009-10-21:sheet窗口的resize时调整其中控件的大小

通常在cs程序开发时用newwidth和newheight来调整即可,而在bs中需要用workspacewidth() 和workspaceheight()。

(2009-10-22:更正一下,经过反复测试调整,发现出现滚动条的问题可能和多窗口是出现了tab有关系,于是反复测试得出resize时要把宽和高缩小一点就可以,我测试缩小了30就行了)

原因看下图。前两个是bs的,后一个是cs的,标题栏newwidth和newheight,messagebox是workspacewidth() 和workspaceheight()。

size1size2size3

4、2009-10-28:datawindow中getfocus、losefocus的问题,直接看图片吧

1

2

2

 

 5、2009-10-30:dynamic的问题。

a、 //菜单重置
wf_menu_reset(menuid,false,true)

这样调用没有问题

//菜单重置
dynamic wf_menu_reset(menuid,false,true)

这样调用报出null object reference的错误

b、在datawindow的rowfocuschanged事件里调用也是不能加dynamic

wf_qx_window(this.dataobject)

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页