📄 mxoutlookbar.pas
字号:
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 + -