⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mxoutlookbar.pas

📁 Delphi控件源码 Delphi控件源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:

Procedure TGradient.PaintGradient( ACanvas: TCanvas; ARect: TRect );
Var
     StartColor_R: Integer;
     StartColor_G: Integer;
     StartColor_B: Integer;
     EndColor_R: Integer;
     EndColor_G: Integer;
     EndColor_B: Integer;
     DestRect: TRect;
     I: Integer;
     H: Integer;
     R, G, B: Byte;

Begin
     If ( ARect.Top >= ARect.Bottom ) Or ( ARect.Left >= ARect.Right ) Then Exit;

     StartColor_R := FStartColor And $000000FF;
     StartColor_G := ( FStartColor Shr 8 ) And $000000FF;
     StartColor_B := ( FStartColor Shr 16 ) And $000000FF;

     EndColor_R := ( FEndColor And $000000FF ) - StartColor_R;
     EndColor_G := ( ( FEndColor Shr 8 ) And $000000FF ) - StartColor_G;
     EndColor_B := ( ( FEndColor Shr 16 ) And $000000FF ) - StartColor_B;

     Case FGradientType Of

          gtl2r:
               Begin
                    DestRect.Top := ARect.Top;
                    DestRect.Bottom := ARect.Bottom;

                    For I := 0 To 255 Do
                    Begin
                         DestRect.Left := ARect.Left + MulDiv( I, ARect.Right - ARect.Left, 256 );
                         DestRect.Right := ARect.Left + MulDiv( I + 1, ARect.Right - ARect.Left, 256 );

                         R := StartColor_R + MulDiv( I, EndColor_R, 255 );
                         G := StartColor_G + MulDiv( I, EndColor_G, 255 );
                         B := StartColor_B + MulDiv( I, EndColor_B, 255 );

                         ACanvas.Brush.Color := RGB( R, G, B );
                         ACanvas.FillRect( DestRect );
                    End;
               End;

          gtt2b:
               Begin
                    DestRect.Left := ARect.Left;
                    DestRect.Right := ARect.Right - ARect.Left;

                    For I := 0 To 255 Do
                    Begin
                         DestRect.Top := ARect.Top + MulDiv( I, ARect.Bottom - ARect.Top, 256 );
                         DestRect.Bottom := ARect.Top + MulDiv( I + 1, ARect.Bottom - ARect.Top, 256 );

                         R := StartColor_R + MulDiv( I, EndColor_R, 255 );
                         G := StartColor_G + MulDiv( I, EndColor_G, 255 );
                         B := StartColor_B + MulDiv( I, EndColor_B, 255 );

                         ACanvas.Brush.Color := RGB( R, G, B );
                         ACanvas.FillRect( DestRect );
                    End;

               End;

          gttb2c:
               Begin
                    H := ( ARect.Bottom - ARect.Top ) Div 2;

                    DestRect.Left := ARect.Left;
                    DestRect.Right := ARect.Right - ARect.Left;

                    For I := 0 To H Do
                    Begin
                         DestRect.Top := ARect.Top + MulDiv( I, H, H );
                         DestRect.Bottom := ARect.Top + MulDiv( I + 1, H, H );

                         R := StartColor_R + MulDiv( I, EndColor_R, H );
                         G := StartColor_G + MulDiv( I, EndColor_G, H );
                         B := StartColor_B + MulDiv( I, EndColor_B, H );

                         ACanvas.Brush.Color := RGB( R, G, B );
                         ACanvas.FillRect( DestRect );

                         DestRect.Top := ARect.Bottom - ( MulDiv( I, H, H ) );
                         DestRect.Bottom := ARect.Top + ( MulDiv( I + 1, H, H ) );

                         ACanvas.FillRect( DestRect );
                    End;

               End;

          gts2c:
               Begin
                    H := ( ARect.Right - ARect.Left ) Div 2;

                    DestRect.Top := ARect.Top;
                    DestRect.Bottom := ARect.Bottom;

                    For I := 0 To H Do
                    Begin
                         DestRect.Left := ARect.Left + MulDiv( I, H, H );
                         DestRect.Right := ARect.Left + MulDiv( I + 1, H, H );

                         R := StartColor_R + MulDiv( I, EndColor_R, H );
                         G := StartColor_G + MulDiv( I, EndColor_G, H );
                         B := StartColor_B + MulDiv( I, EndColor_B, H );

                         ACanvas.Brush.Color := RGB( R, G, B );
                         ACanvas.FillRect( DestRect );

                         DestRect.Left := ARect.Left + ( ARect.Right - ARect.Left ) - ( MulDiv( I, H, H ) );
                         DestRect.Right := ARect.Left + ( ARect.Right - ARect.Left ) - ( MulDiv( I + 1, H, H ) );

                         ACanvas.FillRect( DestRect );
                    End;
               End;
     End;
End;

// *************************************************************************************
// *************************************************************************************
// *************************************************************************************
// ** Constructor THeaderSettings.Create;
// *************************************************************************************
// *************************************************************************************
// *************************************************************************************

Constructor THeaderSettings.Create( DefaultFont: TFont );
Begin
     Inherited Create;

     FAlignment := taCenter;
     FBevelInner := bvNone;
     FBevelOuter := bvRaised;
     FBevelWidth := 1;
     FHeaderColor := clBtnFace;
     FAutoScroll := TRUE;

     FHeaderFont := TFont.Create;
     FHeaderFont.Assign( DefaultFont );

     FHighLightFont := TFont.Create;
     FHighLightFont.Assign( DefaultFont );

     FButtonSizes[ 1 ] := 60;
     FButtonSizes[ 2 ] := 60;
     FButtonSizes[ 3 ] := 20;

     FKeySupport := FALSE;

{$IFDEF DELPHI4_UP}
     FLayout := glGlyphLeft;
{$ENDIF}
     FButtonStyle := bsLarge;
End;

// *************************************************************************************
// ** Destructor THeaderSettings.Destroy;
// *************************************************************************************

Destructor THeaderSettings.Destroy;
Begin
     FHeaderFont.Free;
     FHighLightFont.Free;
     Inherited Destroy;
End;

// *************************************************************************************
// ** THeaderSettings.SetButtonStyle, 4/26/01 2:02:34 PM
// *************************************************************************************

Procedure THeaderSettings.SetButtonStyle( Const Value: TButtonStyle );
Begin
     If FButtonStyle <> Value Then
     Begin
          FButtonStyle := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.SetButtonSize, 4/26/01 1:51:14 PM
// *************************************************************************************

Procedure THeaderSettings.SetButtonSize( Index: Integer; Value: Integer );
Begin
     If Not ( Index In [ 1..3 ] ) Then Exit;

     If FButtonSizes[ Index ] <> Value Then
     Begin
          FButtonSizes[ Index ] := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.GetButtonSize, 4/26/01 1:51:17 PM
// *************************************************************************************

Function THeaderSettings.GetButtonSize( Index: Integer ): Integer;
Begin
     Result := -1;
     If Not ( Index In [ 1..3 ] ) Then Exit;

     Result := FButtonSizes[ Index ];
End;

// *************************************************************************************
// ** THeaderSettings.SetLayout, 4/11/01 2:47:57 PM
// *************************************************************************************

{$IFDEF DELPHI4_UP}

Procedure THeaderSettings.SetLayout( Value: TGlyphLayout );
Begin
     If FLayout <> Value Then
     Begin
          FLayout := Value;
          Change;
     End;
End;

{$ENDIF}

// *************************************************************************************
// ** THeaderSettings.SetAutoScroll, 4/25/01 2:14:26 PM
// *************************************************************************************

Procedure THeaderSettings.SetAutoScroll( Value: Boolean );
Begin
     If FAutoScroll <> Value Then
     Begin
          FAutoScroll := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.SetKeySupport, 5/16/01 9:38:43 AM
// *************************************************************************************

Procedure THeaderSettings.SetKeySupport( Value: Boolean );
Begin
     If FKeySupport <> Value Then
     Begin
          FKeySupport := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** Procedure THeaderSettings.AssignTo;
// *************************************************************************************

Procedure THeaderSettings.AssignTo( Dest: TPersistent );
Begin
     If Dest Is THeaderSettings Then
          With THeaderSettings( Dest ) Do
          Begin
               FAlignment := Self.FAlignment;
               FBevelInner := Self.FBevelInner;
               FBevelOuter := Self.FBevelOuter;
               FBevelWidth := Self.FBevelWidth;
               FHeaderColor := Self.FHeaderColor;
               FHeaderFont.Assign( Self.FHeaderFont );
               FHighLightFont.Assign( Self.FHighLightFont );

               Change;
          End
     Else Inherited AssignTo( Dest );
End;

// *************************************************************************************
// ** THeaderSettings.SetHeaderColor, 4/10/01 9:26:07 AM
// *************************************************************************************

Procedure THeaderSettings.SetHeaderColor( Value: TColor );
Begin
     If FHeaderColor <> Value Then
     Begin
          FHeaderColor := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.SetHeaderFont, 4/10/01 9:48:02 AM
// *************************************************************************************

Procedure THeaderSettings.SetHeaderFont( Value: TFont );
Begin
     If FHeaderFont <> Value Then
     Begin
          FHeaderFont.Assign( Value );
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.SetBevelOuter, 4/10/01 9:17:24 AM
// *************************************************************************************

Procedure THeaderSettings.SetBevelOuter( Value: TPanelBevel );
Begin
     If FBevelOuter <> Value Then
     Begin
          FBevelOuter := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.SetBevelWidth, 4/10/01 9:17:30 AM
// *************************************************************************************

Procedure THeaderSettings.SetBevelWidth( Value: TBevelWidth );
Begin
     If FBevelWidth <> Value Then
     Begin
          FBevelWidth := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.SetBevelInner, 4/10/01 9:17:18 AM
// *************************************************************************************

Procedure THeaderSettings.SetBevelInner( Value: TPanelBevel );
Begin
     If FBevelInner <> Value Then
     Begin
          FBevelInner := Value;
          Change;
     End;
End;

// *************************************************************************************
// ** THeaderSettings.SetAlignment, 4/10/01 11:58:09 AM
// *************************************************************************************

Procedure THeaderSettin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -