📄 demoform.pas
字号:
FontBox.ItemIndex := 0;
for i := 0 to Pred(FontBox.Items.Count) do if FontBox.Items[i] = RsRuler1.Font.Name then FontBox.ItemIndex := i;
end;
procedure TForm1.FontBoxChange(Sender: TObject);
begin
RsRuler1.Font.Name := FontBox.Items[FontBox.ItemIndex];
RsRuler2.Font.Name := FontBox.Items[FontBox.ItemIndex];
RsRuler3.Font.Name := FontBox.Items[FontBox.ItemIndex];
RsRuler4.Font.Name := FontBox.Items[FontBox.ItemIndex];
RsRulerCorner1.Font.Name := FontBox.Items[FontBox.ItemIndex];
RsRulerCorner2.Font.Name := FontBox.Items[FontBox.ItemIndex];
RsRulerCorner3.Font.Name := FontBox.Items[FontBox.ItemIndex];
RsRulerCorner4.Font.Name := FontBox.Items[FontBox.ItemIndex];
end;
procedure TForm1.SizeBoxChange(Sender: TObject);
begin
RsRuler1.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
RsRuler2.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
RsRuler3.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
RsRuler4.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
RsRulerCorner1.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
RsRulerCorner2.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
RsRulerCorner3.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
RsRulerCorner4.Font.Size := StrToInt(SizeBox.Items[SizeBox.ItemIndex]);
end;
procedure TForm1.BoldBtnClick(Sender: TObject);
begin
if BoldBtn.Down then
begin
RsRuler1.Font.Style := RsRuler1.Font.Style + [fsBold];
RsRuler2.Font.Style := RsRuler2.Font.Style + [fsBold];
RsRuler3.Font.Style := RsRuler3.Font.Style + [fsBold];
RsRuler4.Font.Style := RsRuler4.Font.Style + [fsBold];
RsRulerCorner1.Font.Style := RsRulerCorner1.Font.Style + [fsBold];
RsRulerCorner2.Font.Style := RsRulerCorner2.Font.Style + [fsBold];
RsRulerCorner3.Font.Style := RsRulerCorner3.Font.Style + [fsBold];
RsRulerCorner4.Font.Style := RsRulerCorner4.Font.Style + [fsBold];
end else
begin
RsRuler1.Font.Style := RsRuler1.Font.Style - [fsBold];
RsRuler2.Font.Style := RsRuler2.Font.Style - [fsBold];
RsRuler3.Font.Style := RsRuler3.Font.Style - [fsBold];
RsRuler4.Font.Style := RsRuler4.Font.Style - [fsBold];
RsRulerCorner1.Font.Style := RsRulerCorner1.Font.Style + [fsBold];
RsRulerCorner2.Font.Style := RsRulerCorner2.Font.Style + [fsBold];
RsRulerCorner3.Font.Style := RsRulerCorner3.Font.Style + [fsBold];
RsRulerCorner4.Font.Style := RsRulerCorner4.Font.Style + [fsBold];
end;
end;
procedure TForm1.ItalicBtnClick(Sender: TObject);
begin
if ItalicBtn.Down then
begin
RsRuler1.Font.Style := RsRuler1.Font.Style + [fsItalic];
RsRuler2.Font.Style := RsRuler2.Font.Style + [fsItalic];
RsRuler3.Font.Style := RsRuler3.Font.Style + [fsItalic];
RsRuler4.Font.Style := RsRuler4.Font.Style + [fsItalic];
RsRulerCorner1.Font.Style := RsRulerCorner1.Font.Style + [fsItalic];
RsRulerCorner2.Font.Style := RsRulerCorner2.Font.Style + [fsItalic];
RsRulerCorner3.Font.Style := RsRulerCorner3.Font.Style + [fsItalic];
RsRulerCorner4.Font.Style := RsRulerCorner4.Font.Style + [fsItalic];
end else
begin
RsRuler1.Font.Style := RsRuler1.Font.Style - [fsItalic];
RsRuler2.Font.Style := RsRuler2.Font.Style - [fsItalic];
RsRuler3.Font.Style := RsRuler3.Font.Style - [fsItalic];
RsRuler4.Font.Style := RsRuler4.Font.Style - [fsItalic];
RsRulerCorner1.Font.Style := RsRulerCorner1.Font.Style - [fsItalic];
RsRulerCorner2.Font.Style := RsRulerCorner2.Font.Style - [fsItalic];
RsRulerCorner3.Font.Style := RsRulerCorner3.Font.Style - [fsItalic];
RsRulerCorner4.Font.Style := RsRulerCorner4.Font.Style - [fsItalic];
end;
end;
procedure TForm1.ColorGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Idx: Integer;
begin
if Button = mbLeft then
begin
Idx := ColorGrid1.ForegroundIndex;
if Idx >= 8 then Inc(Idx, 4);
with PaletteEntries[Idx] do
begin
if ColorSwitchBtn.Down then
begin
RsRuler1.TickColor := TColor(RGB(peRed, peGreen, peBlue));
RsRuler2.TickColor := TColor(RGB(peRed, peGreen, peBlue));
RsRuler3.TickColor := TColor(RGB(peRed, peGreen, peBlue));
RsRuler4.TickColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner1.TickColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner2.TickColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner3.TickColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner4.TickColor := TColor(RGB(peRed, peGreen, peBlue));
end else
begin
RsRuler1.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRuler2.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRuler3.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRuler4.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner1.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner2.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner3.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner4.Font.Color := TColor(RGB(peRed, peGreen, peBlue));
end;
end;
end;
if Button = mbRight then
begin
Idx := ColorGrid1.BackgroundIndex;
if Idx >= 8 then Inc(Idx, 4);
with PaletteEntries[Idx] do
begin
if ColorSwitchBtn.Down then
begin
RsRuler1.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRuler2.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRuler3.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRuler4.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner1.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner2.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner3.Color := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner4.Color := TColor(RGB(peRed, peGreen, peBlue));
end else
begin
RsRuler1.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
RsRuler2.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
RsRuler3.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
RsRuler4.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner1.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner2.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner3.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
RsRulerCorner4.ScaleColor := TColor(RGB(peRed, peGreen, peBlue));
end;
end;
end;
end;
procedure TForm1.ColorSwitchBtnClick(Sender: TObject);
begin
if ColorSwitchBtn.Down
then ColorGrid1.Hint := 'FG = TickColor, BG = Color'
else ColorGrid1.Hint := 'FG = Fontcolor, BG = ScaleColor';
end;
procedure TForm1.HorTrackChange(Sender: TObject);
begin
RsRuler1.Offset := HorTrack.Position;
RsRuler2.Offset := HorTrack.Position;
SpeedButton9.Caption := IntToStr(HorTrack.Position);
end;
procedure TForm1.VerTrackChange(Sender: TObject);
begin
RsRuler3.Offset := VerTrack.Position;
RsRuler4.Offset := VerTrack.Position;
SpeedButton10.Caption := IntToStr(VerTrack.Position);
end;
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
HorTrack.Position := 0;
end;
procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
VerTrack.Position := 0;
end;
procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
RsRuler1.ShowMinus := (Sender as TSpeedButton).Down;
RsRuler2.ShowMinus := (Sender as TSpeedButton).Down;
RsRuler3.ShowMinus := (Sender as TSpeedButton).Down;
RsRuler4.ShowMinus := (Sender as TSpeedButton).Down;
end;
procedure TForm1.SpeedButton12Click(Sender: TObject);
begin
RsRulerCorner1.Units := ruMeter;
RsRuler1.Units := ruMeter;
RsRuler2.Units := ruMeter;
RsRuler3.Units := ruMeter;
RsRuler4.Units := ruMeter;
end;
procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
RsRulerCorner1.Units := ruKilo;
RsRuler1.Units := ruKilo;
RsRuler2.Units := ruKilo;
RsRuler3.Units := ruKilo;
RsRuler4.Units := ruKilo;
end;
procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
if RsRuler1.ScaleDir = rsdNormal then
begin
RsRuler1.ScaleDir := rsdReverse;
RsRuler2.ScaleDir := rsdReverse;
RsRuler3.ScaleDir := rsdReverse;
RsRuler4.ScaleDir := rsdReverse;
end else
begin
RsRuler1.ScaleDir := rsdNormal;
RsRuler2.ScaleDir := rsdNormal;
RsRuler3.ScaleDir := rsdNormal;
RsRuler4.ScaleDir := rsdNormal;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -