高手请进,我的resize事件问题,谁会

时间:2022-08-09 16:13:17
在我的程序中分别有两个窗口,一个名为w_main(mdi类型),另一个为w_back(child类型)
在w_main的open事件中有如下代码:
//打开背景窗口
opensheet(w_back,this,0,layered!)
w_back.wf_set_background('backup\back1.bmp')//其中wf_set_background()是一个设置背景图片的函数
在w_main的resize事件里有如下代码
//设置状态栏位置
li_height = this.workspaceHeight()
li_width = this.workspaceWidth()
mdi_1.x = this.workspacex()
mdi_1.y = this.workspacey() - 4
mdi_1.height = li_height - dw_status_bar.height + 8
mdi_1.width  = li_width
//设置状态栏位置
dw_status_bar.x = this.workspacex() - 4
dw_status_bar.y = mdi_1.y + mdi_1.height + 2
dw_status_bar.width = li_width + 4
在w_back的resize事件里有如下代码
//图片与窗口的大小同步
p_1.resize(this.width,this.height)

我现在不明白,为什么我自己的图片文件没有完全充满w_main窗口的内部,也就是背景部分,而图片只显示了一部分,这是为什么????
大家能给出详细解决代码,马上给分!!!!!!!!!!!!!!!!!!!!!!!

11 个解决方案

#1


p_1.resize()的代码呢?

#2


再建一个窗体存储图片(w_p,图片控件p_1)
在w_main的open事件写OpenSheet(w_p,w_main,9,Layered! )
在w_p的resize事件下
p_1.SetRedraw(FALSE)
p_1.Move(0,0)
p_1.Resize(This.WorkSpaceWidth(),This.WorkSpaceHeight())
p_1.SetRedraw(TRUE)

#3


同意楼上——在w_back的resize事件里写
p_1.Resize(This.WorkSpaceWidth(),This.WorkSpaceHeight())
或者
p_1.Resize(parent.Width,parent.Height)

#4


看一下P_1的originalsize属性是否去掉了

#5


以上的代码我都试过了,不行,经过测试发现我程序的问题是w_back的窗口根本就没有充满w_main窗口的内部,而只是充满了一小部分,请问这是为什么???????

#6


你的意思是w_back没有最大化,相应的w_back里的图也就没有最大化了?
那你把w_back的窗口属性windowstate设置成maximized!看看

#7


我已经把w_back的窗口属性windowstate设置成maximized!,w_back窗体还是没有完全充满w_main的内部,为什么???????????????????????????
那位高手能给出解答!!!!

#8


代码我改过了,已经使w_back窗体完全充满了w_main窗体的内部了, 可是新的问题出现了,图片没有显示出来,一点图片的影子都没有了,这是怎么回事???????????????????????????

#9


p_控件.BringToTop = TRUE

#10


发过你的代码让我看看,今晚前改好后发回给你,qiuyunda@163.com

#11


楼上的哥哥的方法不错,可以试一下

#1


p_1.resize()的代码呢?

#2


再建一个窗体存储图片(w_p,图片控件p_1)
在w_main的open事件写OpenSheet(w_p,w_main,9,Layered! )
在w_p的resize事件下
p_1.SetRedraw(FALSE)
p_1.Move(0,0)
p_1.Resize(This.WorkSpaceWidth(),This.WorkSpaceHeight())
p_1.SetRedraw(TRUE)

#3


同意楼上——在w_back的resize事件里写
p_1.Resize(This.WorkSpaceWidth(),This.WorkSpaceHeight())
或者
p_1.Resize(parent.Width,parent.Height)

#4


看一下P_1的originalsize属性是否去掉了

#5


以上的代码我都试过了,不行,经过测试发现我程序的问题是w_back的窗口根本就没有充满w_main窗口的内部,而只是充满了一小部分,请问这是为什么???????

#6


你的意思是w_back没有最大化,相应的w_back里的图也就没有最大化了?
那你把w_back的窗口属性windowstate设置成maximized!看看

#7


我已经把w_back的窗口属性windowstate设置成maximized!,w_back窗体还是没有完全充满w_main的内部,为什么???????????????????????????
那位高手能给出解答!!!!

#8


代码我改过了,已经使w_back窗体完全充满了w_main窗体的内部了, 可是新的问题出现了,图片没有显示出来,一点图片的影子都没有了,这是怎么回事???????????????????????????

#9


p_控件.BringToTop = TRUE

#10


发过你的代码让我看看,今晚前改好后发回给你,qiuyunda@163.com

#11


楼上的哥哥的方法不错,可以试一下