多语言展示
当前在线:1955今日阅读:6今日分享:31

delphi如何实现无边框窗体阴影

Delphi是一种经典的高级编程语言,其语言特点是严谨规范,那么在Delphi中该如何实现无边框窗体的阴影效果呢?
工具/原料

Delphi编译环境

方法/步骤
2

在Delphi中,可以进行Windows窗体程序开发,每一个窗体被成为Form;也可以进行动态库(DLL)的开发;对于Web网页的支持也有一定的力度,比如获得过大奖的IntroWeb等等

3

当然,对于Delphi来说,其特色是可以编译成一个文件,在分发转移时较为方便,而不像其他高级编程语言的最后编译结果有多个文件,要保持正常运行,就需要整个文件夹的所有文件进行支持

4

其另一个特色是距离操作系统API较“近”,其基本类库也都是开放源代码的。在使用底层或系统的相关处理是较为直接,更便于处理与系统相关的一些功能

5

那么,针对无边框窗体阴影的功能处理,就需要涉及到操作系统底层对界面的操作方法的调用,主要操作使用覆盖窗体类Form的底层方法: CreateParams(var Params:TCreateParams),其作用是创建窗体时对窗体的显示风格进行定义

6

具体实现代码如下例:procedure CreateParams(var Params:TCreateParams);override;    //........    procedure TfMain.CreateParams(var Params: TCreateParams);  // uncomment this if CS_DROPSHADOW is not already defined...  //const  //CS_DROPSHADOW = $H20000;  begin    inherited;    // for XP and later only...    if (Win32MajorVersion>5) or ((Win32MajorVersion = 5) and (Win32MinorVersion>= 1)) then      Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;  end;

推荐信息