你知道 SysShadow 嗎?你了解SysShadow和使用過SysShadow嗎?
在 Windows 2000/Xp 系統中, SysShadow used to make shadows for menus in Win2K/XP. In XP, SysShadow appears for XP's new big start panel.
但是,如何才能讓我們自己程序窗口也可以引用 SysShadow 這個類來畫出窗體陰影呢?請知道或者有點思路或者用過的高手不吝賜教!
在 Windows 2000/Xp 系統中, SysShadow used to make shadows for menus in Win2K/XP. In XP, SysShadow appears for XP's new big start panel.
但是,如何才能讓我們自己程序窗口也可以引用 SysShadow 這個類來畫出窗體陰影呢?請知道或者有點思路或者用過的高手不吝賜教!
....
private
procedure CreateParams(var Params: TCreateParams); override;
...procedure TFrmMain.CreateParams(var Params: TCreateParams);// TFrmMain is your Form...
begin
inherited CreateParams(Params);
with Params do
begin
// CS_DROPSHADOW requires Windows XP or above
if CheckWin32Version(5, 1) then
WindowClass.Style := WindowClass.style or CS_DROPSHADOW;
end;
end;其實以上的代碼是在 Delphi 的Controls單元裡面的 THintWindow 定義段代碼找到,當時是想起 ToolTips 小窗體的陰影,於是,追下去得到這方法.其他弟兄如有更簡單方法,請不吝指教.