delphi如何实现无边框窗体阴影
Delphi是一种经典的高级编程语言,其语言特点是严谨规范,那么在Delphi中该如何实现无边框窗体的阴影效果呢?
操作方法
- 01
Delphi语言对于现在的高级开发语言来说已经过于古老了,虽然新的版本还在不断推出,而且也已经可以进行跨平台开发,对于现在的移动开发也已进行了支持,但其推广使用的效果却不佳
- 02
在Delphi中,可以进行Windows窗体程序开发,每一个窗体被成为Form;也可以进行动态库(DLL)的开发;对于Web网页的支持也有一定的力度,比如获得过大奖的IntroWeb等等
- 03
当然,对于Delphi来说,其特色是可以编译成一个文件,在分发转移时较为方便,而不像其他高级编程语言的最后编译结果有多个文件,要保持正常运行,就需要整个文件夹的所有文件进行支持
- 04
其另一个特色是距离操作系统API较“近”,其基本类库也都是开放源代码的。在使用底层或系统的相关处理是较为直接,更便于处理与系统相关的一些功能
- 05
那么,针对无边框窗体阴影的功能处理,就需要涉及到操作系统底层对界面的操作方法的调用,主要操作使用覆盖窗体类Form的底层方法: CreateParams(var Params:TCreateParams),其作用是创建窗体时对窗体的显示风格进行定义
- 06
具体实现代码如下例: 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;