对屏保设置窗口中的小屏幕刷新的困惑?(50分)

  • 主题发起人 主题发起人 flyerboy
  • 开始时间 开始时间
F

flyerboy

Unregistered / Unconfirmed
GUEST, unregistred user!
  我前一段时间用Delphi写过一个屏保程序,其中有两个问题我一直很困惑:
  1、用于显示屏保预览效果缩略图的小屏幕窗口似乎具有一些特殊性质,我发现只能用Windows API提供的GDI函数在该窗口上绘制图形才能得到显示效果,而用Delphi中的Canvas对象则无任何显示效果。
  2、即使用GDI函数绘制的图形也须通过MessageBox之类的弹出消息框后才能刷新小屏幕并看到显示效果,否则小屏幕也是一个黑屏。
  小屏幕窗口的句柄是通过传递给屏保程序的第3个参数获得的,可能是它具有的一些特殊属性造成这个现象,盼高手指点迷津!(我是新手,积分不多,只能给50分,勿见怪!)
 
//设置主窗体的父窗体为“小显示器”
Windows.SetParent(Form1.Handle,LittleScreenHandle);
//获得小显示器的客户区的RECT
Windows.GetClientRect(LittleScreenHandle,ScreenClientRect);
//设置主窗体的大小并覆盖“小显示器”
Windows.SetWindowPos(Form1.Handle,HWND_TOP,0,0,
ScreenClientRect.Right,ScreenClientRect.Bottom, SWP_SHOWWINDOW);
---------------------------------------------------------------------
我是这样写的,不知道是否有借鉴意义?
 
谢谢,我照你的方法去做已经成功了!
 
后退
顶部