各位都是如何实现MDI窗口的背景图片?

时间:2023-01-28 16:16:04
各位都是如何实现MDI窗口的背景图片?

我是在MDI的open中打开一个子窗口。在子窗口上放一个PICTURE,但是在窗口大小变化时,图片闪烁较严重,setredraw()也不行,而且也不能在图片上动态创建透明的文字栏。
  如果在子窗口上用DATAWINDOW的话,在DATAWINDOW上再放一个PICTURE,虽能实现动态的透明的文字栏,但是DATAWINDOW总有边框……
  
  各位大侠,请指教。

9 个解决方案

#1


闪烁的问题,我是没有好的解决方法,不过可以建一个自己的窗口对象,然后继承,可能效果好一点。在图片上动态创建透明的文字栏应该是可以的,不知你创建的时候出了什么问题?

欢迎高手来解答

#2


一般是做一个子窗口如
window w_backgroud
该窗口放置一幅图片p_background
在mdi窗口的open事件中写入脚本
opensheet(w_background)
当然如果mdi窗口可调整的话
还要在w_background的resize事件中写入
p.x=parent.x
p.y=parent.y
p_background.width=parent.width
p_background.height=parent.height

#3


DATAWINDOW 的显示方式你设置为none就没有边框了啊。

#4


childwindow

#5


陶青的网站上有很好的例子,可以自己定义文字图片!操连接

#6


childwindow
resize事件调整大小
enable = false

#7


在窗口的Open和Resize中加入

SetReDraw(False)
p_1.Move(0,0)
P_1.Resize(this.workplacewidth(),this.WorkPlaceHeight())
SetReDraw(True)

我就是这样实现背景的,不会闪烁。

#8


强烈关注!

请那位 C++ 或则 delphi 的大虾写一个通用的 dll,再把原代码公开,可以永远的解决这个问题!

#9


我用PB写一个记分奖金系统(access 建库);在记分输入窗口中有员工号、得分,等字段。我想输入后能将得分累加(实时的)。在月末我要提取个人总分和做有员工的总分。
    员工奖金=个人得分*(本月总奖金/所有员工总分数)
怎么 办?
我急需
  我怎么将数据窗口中的汇总区的数据取出来  比如针对一个员工
     员工号     输入日期         得分
     001       2002-12-1        8分
     001        2002-12-2        5分
怎么将满足当月日期的个人得分计算出来,
然后怎么计算所有员工的总分?
我想作一个查询所有员工当月得分实时查询  怎么 办?(例子源代码)

#1


闪烁的问题,我是没有好的解决方法,不过可以建一个自己的窗口对象,然后继承,可能效果好一点。在图片上动态创建透明的文字栏应该是可以的,不知你创建的时候出了什么问题?

欢迎高手来解答

#2


一般是做一个子窗口如
window w_backgroud
该窗口放置一幅图片p_background
在mdi窗口的open事件中写入脚本
opensheet(w_background)
当然如果mdi窗口可调整的话
还要在w_background的resize事件中写入
p.x=parent.x
p.y=parent.y
p_background.width=parent.width
p_background.height=parent.height

#3


DATAWINDOW 的显示方式你设置为none就没有边框了啊。

#4


childwindow

#5


陶青的网站上有很好的例子,可以自己定义文字图片!操连接

#6


childwindow
resize事件调整大小
enable = false

#7


在窗口的Open和Resize中加入

SetReDraw(False)
p_1.Move(0,0)
P_1.Resize(this.workplacewidth(),this.WorkPlaceHeight())
SetReDraw(True)

我就是这样实现背景的,不会闪烁。

#8


强烈关注!

请那位 C++ 或则 delphi 的大虾写一个通用的 dll,再把原代码公开,可以永远的解决这个问题!

#9


我用PB写一个记分奖金系统(access 建库);在记分输入窗口中有员工号、得分,等字段。我想输入后能将得分累加(实时的)。在月末我要提取个人总分和做有员工的总分。
    员工奖金=个人得分*(本月总奖金/所有员工总分数)
怎么 办?
我急需
  我怎么将数据窗口中的汇总区的数据取出来  比如针对一个员工
     员工号     输入日期         得分
     001       2002-12-1        8分
     001        2002-12-2        5分
怎么将满足当月日期的个人得分计算出来,
然后怎么计算所有员工的总分?
我想作一个查询所有员工当月得分实时查询  怎么 办?(例子源代码)