Delphi 代码实现窗口透明+圆角边框
2017-08-25 11:11
639 查看
procedure TfrmRemoteData.DoInvisible; //透明 var control: TControl; index, margin, X, Y, ctlX, ctlY, i: Integer; fullRgn, clientRgn, ctlRgn: THandle; begin margin := (Width - ClientWidth) div 2; fullRgn := CreateRectRgn(0, 0, Width, Height); //创建总裁剪区域 X := margin; Y := Height - ClientHeight - margin; clientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight); CombineRgn(fullRgn, fullRgn, clientRgn, RGN_DIFF); //合并区域,RGN_DIFF差集 for index := 0 to ControlCount - 1 do //遍历控件 begin control := Controls[index]; if (control is TWinControl) or (control is TGraphicControl) then with control do begin if Visible then begin ctlX := X + Left; ctlY := Y + Top; // ctlRgn := CreateRectRgn(CtlX, CtlY, CtlX + Width, CtlY + Height); ctlRgn := CreateRoundRectRgn(ctlX, ctlY, ctlX+ Width, ctlY + Height, Height, Height); CombineRgn(fullRgn, fullRgn, ctlRgn, RGN_OR); //RGN_OR并集 end; end; end; SetWindowRgn(Handle, fullRgn, True); //设置重绘窗口 end;说明:CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, arc1, arc2);
相关文章推荐
- delphi 无代码实现背景透明及窗体异形方法及原理
- QT入门:怎么写无边框(标题栏)的窗口、透明窗口、圆角控件
- (转载)c++builder/delphi中透明panel及透明窗口的实现方法_delphi教程
- Qt实现透明无边框,无关闭按钮,带自定义图片的窗体实例代码
- C++Builder/Delphi中透明Panel及透明窗口的实现方法
- js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
- js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
- CSS实现圆角、透明在IE、火狐中的代码兼容解决办法
- Delphi无需代码实现透明窗体显示文字
- C++Builder/Delphi中透明Panel及透明窗口的实现方法
- Delphi 如何实现窗口透明,但是窗口上的文字不透明
- QT入门:怎么写无边框(标题栏)的窗口、透明窗口、圆角控件
- Android圆角边框代码实现
- 实现CSS3中的border-radius(边框圆角)示例代码
- div+css无图边框圆角实现思路及代码
- Android通过代码实现圆角边框shape
- Delphi 如何实现窗口透明,但是窗口上的文字不透明
- Div圆角边框的实现例子+代码
- DELPHI (VCL及FMX[Firemonkey])启动时的欢迎窗口实现代码
- delphi代码实现窗口最小化,最大化,关闭消息发送