Delphi支持Windows 2000/XP SDK吗?(200分)

  • 主题发起人 主题发起人 cyberwalker
  • 开始时间 开始时间
C

cyberwalker

Unregistered / Unconfirmed
GUEST, unregistred user!
我编程想实现窗体淡入淡出的效果,要用到Windows 2000才有的函数<br>如何在Delphi使用Windows 2000/XP SDK?
 
我记得好像有控件实现这种功能,你找找看,看人家是怎样实现的.
 
我的意思是:Delphi是否支持Windows 2000/XP SDK??<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 窗体编程只是举一个例子而已
 
我想应该可以,有人用过吗?
 
其实你要的就是API的声明而已<br>到这里看看: http://members.chello.nl/m.vanbrakel2/<br>如你说的那个函数就在JwaWinUser.pas单元里面,你只要引用它就行了:<br>function SetLayeredWindowAttributes(hwnd: HWND; crKey: COLORREF; bAlpha: BYTE;<br>&nbsp; dwFlags: DWORD): BOOL; stdcall;<br>{$EXTERNALSYM SetLayeredWindowAttributes}<br><br>const<br>&nbsp; LWA_COLORKEY = $00000001;<br>&nbsp; {$EXTERNALSYM LWA_COLORKEY}<br>&nbsp; LWA_ALPHA &nbsp; &nbsp;= $00000002;<br>&nbsp; {$EXTERNALSYM LWA_ALPHA}<br><br>&nbsp; ULW_COLORKEY = $00000001;<br>&nbsp; {$EXTERNALSYM ULW_COLORKEY}<br>&nbsp; ULW_ALPHA &nbsp; &nbsp;= $00000002;<br>&nbsp; {$EXTERNALSYM ULW_ALPHA}<br>&nbsp; ULW_OPAQUE &nbsp; = $00000004;<br>&nbsp; {$EXTERNALSYM ULW_OPAQUE}<br><br>function SetLayeredWindowAttributes; external user32 name 'SetLayeredWindowAttributes';<br>
 
当然支持了<br>废话
 
AnimateWindow(Self.Handle, 250, AW_BLEND or AW_ACTIVATE);<br>这个函数默认使用卷帘效果,但是你可以用AW_SLIDE获得幻灯效果,用AW_CENTER获得垮塌或扩展效果,用AW_BLEND获得平滑的淡入淡出效果。<br><br>&nbsp; &nbsp; 还有,你可以加上AW_ACTIVATE标志如果你的窗体正在出现,或是AW_HIDE如果你的窗体将要被隐藏,这一标志颠倒动画的方向。<br><br>&nbsp; &nbsp; 当你使用卷帘和淡入淡出效果时,你可以指定效果在水平和垂直轴发生的方向,添加AW_HOR_POSITIVE和AW_HOR_NEGATIVE设置x轴,添加W_VER_POSITIVE或是AW_VER_NEGATIVE设置y轴。<br><br>&nbsp; &nbsp; 当你用AW_CENTER标志时,所有这些标志都可以省略。<br><br>&nbsp; &nbsp; 试验不同的标志组合并看一下结果!<br>
 
回答是肯定的,你要的效果楼上兄说得比较详细,<br>我建议你买个MSND看看,里面保罗万向
 
多人接受答案了。
 
后退
顶部