tvplanit: Define initial control size by GetControlClassDefaultSize. New icons in PrintPreview dialog. Consistent 3D look of TVpPrintPreview.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8469 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2022-09-10 20:38:31 +00:00
parent 770f452ecf
commit d2fe2df1e7
58 changed files with 247 additions and 454 deletions

View File

@ -382,8 +382,6 @@ object MainForm: TMainForm
TabOrder = 1
BarWidth = 1
ColumnWidth = 200
ContactHeadAttributes.Color = clSilver
ContactHeadAttributes.Bordered = True
DrawingStyle = dsFlat
end
end

View File

@ -58,6 +58,9 @@
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf2Set"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 958 B

View File

@ -69,3 +69,19 @@ VpUpArrow200.png
VpDownArrow.png
VpDownArrow150.png
VpdownArrow200.png
VpFirst16.png
VpFirst24.png
VpFirst32.png
VpLast16.png
VpLast24.png
VpLast32.png
VpCancel16.png
VpCancel24.png
VpCancel32.png
VpPrint16.png
VpPrint24.png
VpPrint32.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

View File

@ -1089,7 +1089,9 @@ msgstr "Druckformat-Designer"
#: vpsr.rsprintorder
msgid "Print order"
msgstr "Druckreihenfolge"
msgstr ""
"Druck-\n"
"Reihenfolge"
#: vpsr.rsprintprvcancel
msgctxt "vpsr.rsprintprvcancel"

View File

@ -1025,7 +1025,7 @@ end;
class function TVpCustomCalendar.GetControlClassDefaultSize: TSize;
begin
Result.CX := 200;
Result.CY := 140;
Result.CY := 180;
end;
{ If the component is being dropped on a form at designtime, then

View File

@ -39,7 +39,7 @@ uses
{$ELSE}
Windows, Messages, VpTimerPool,
{$ENDIF}
SysUtils, Classes, Controls, Dialogs, Forms, Graphics, Menus, Math,
SysUtils, Graphics, Types, Classes, Controls, Dialogs, Forms, Menus, Math,
VpBase, VpLEDLabel;
type
@ -227,6 +227,7 @@ type
procedure DoOnSecondChange;
procedure DoOnCountdownDone;
procedure PaintHands(ACanvas: TCanvas);
class function GetControlClassDefaultSize: TSize; override;
{windows message methods}
{$IFDEF LCL}
procedure WMResize(var Msg: TLMSize); message LM_SIZE;
@ -580,8 +581,9 @@ constructor TVpCustomClock.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Width := 136;
Height := 136;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
FClockMode := cmClock;
@ -787,7 +789,13 @@ begin
if Assigned (FOnCOuntdownDone) then
FOnCountdownDone(self);
end;
{=====}
{ Defines the initial size of the control. }
class function TVpCustomClock.GetControlClassDefaultSize: TSize;
begin
Result.CX := 136;
Result.CY := 136;
end;
function TVpCustomClock.GetElapsedDays: Integer;
var

View File

@ -43,7 +43,7 @@ uses
{$ELSE}
Windows,
{$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
SysUtils, Classes, Graphics, Types, Controls, Forms, Dialogs,
VpBase, VpContactGrid, VpMisc;
const
@ -107,6 +107,7 @@ type
procedure SetShowNumberButton(const Value: Boolean);
{ Overridden methods }
class function GetControlClassDefaultSize: TSize; override;
procedure Loaded; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
@ -200,9 +201,6 @@ constructor TVpContactButtonBar.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Width := 40;
Height := 280;
{$IFDEF VERSION4}
DoubleBuffered := True;
{$ENDIF}
@ -216,14 +214,16 @@ begin
FDrawingStyle := ds3d;
FRadioStyle := true;
FShowNumberButton := True;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
end;
{=====}
destructor TVpContactButtonBar.Destroy;
begin
inherited Destroy;
end;
{=====}
procedure TVpContactButtonBar.CreateButtons;
var
@ -314,7 +314,6 @@ begin
FButtonsArray[I + Offset].Caption := ButtonCaption;
end;
end;
{=====}
procedure TVpContactButtonBar.DrawButton(Index: Integer; Pressed: Boolean);
var
@ -374,7 +373,13 @@ begin
{DrawTextBiDiModeFlagsReadingOnly or }DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;
end;
{=====}
{ Defines the initial size of the control. }
class function TVpContactButtonBar.GetControlClassDefaultSize: TSize;
begin
Result.CX := 40;
Result.CY := 300;
end;
procedure TVpContactButtonBar.SelectContact;
var

View File

@ -38,7 +38,7 @@ uses
{$ELSE}
Windows, Messages,
{$ENDIF}
Classes, Graphics, Controls, ExtCtrls, StdCtrls, Forms, Menus,
Classes, Graphics, Types, Controls, StdCtrls, ExtCtrls, Forms, Menus,
VpConst, VpBase, VpBaseDS, VpMisc, VpData, VpSR;
const
@ -193,6 +193,7 @@ type
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
function GetContactIndexByCoord(Pnt: TPoint): Integer;
class function GetControlClassDefaultSize: TSize; override;
function GetDisplayEMailField(AContact: TVpContact): String;
function GetDisplayEMailValue(AContact: TVpContact): String;
procedure SetDisplayEMailValue(AContact: TVpContact; AEMail: String);
@ -523,15 +524,16 @@ begin
cgDragBarNumber := -1;
FMouseContactIndex := -1;
{ size }
Height := 299;
Width := 225;
// Popup menu
FDefaultPopup := TPopupMenu.Create(Self);
FDefaultPopup.Name := 'default';
InitializeDefaultPopup;
Self.PopupMenu := FDefaultPopup;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
LoadLanguage;
cgHookUp;
@ -752,6 +754,13 @@ begin
Result := '';
end;
{ Defines the initial size of the control. }
class function TVpContactGrid.GetControlClassDefaultSize: TSize;
begin
Result.CX := 225;
Result.CY := 300;
end;
function TVpContactGrid.GetControlType : TVpItemType;
begin
Result := itContacts;

View File

@ -71,7 +71,7 @@ uses
{$ELSE}
Windows, Messages,
{$ENDIF}
Classes, Graphics, Controls, ExtCtrls, StdCtrls, Buttons, Forms, Menus, ImgList,
Classes, Graphics, Types, Controls, StdCtrls, ExtCtrls, Buttons, Forms, Menus, ImgList,
VpConst, VpBase, VpBaseDS, VpMisc, VpData, VpSR;
type
@ -392,6 +392,7 @@ type
{ inherited methods }
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
class function GetControlClassDefaultSize: TSize; override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure Loaded; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X,Y: Integer); override;
@ -824,18 +825,17 @@ begin
dvMouseDownPoint := Point(0, 0);
dvMouseDown := false;
// Size
Height := 225;
Width := 265;
// popup menu
FDefaultPopup := TPopupMenu.Create(Self);
FDefaultPopup.Name := 'default';
InitializeDefaultPopup;
Self.PopupMenu := FDefaultPopup;
LoadLanguage;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
LoadLanguage;
dvHookUp;
end;
@ -2317,6 +2317,13 @@ begin
Datastore.Resource.Schedule.ExportICalFile(AFileName, AEvents);
end;
{ Defines the initial size of the control. }
class function TVpDayView.GetControlClassDefaultSize: TSize;
begin
Result.CX := 225;
Result.CY := 300;
end;
{ Reads the events listed in the specified ical file and adds them to the
day view control. All events imported are collected in the Result array.
ADefaultCategory is the category to which the event is assigned if no fitting

View File

@ -1547,7 +1547,7 @@ begin
inc(Result, RenderCanvas.TextWidth('33'));
with TVpDayViewOpener(FDayView) do
Result := Max(Result, dvDayUpBtn.Glyph.Width + dvDayDownBtn.Glyph.Width +
dvWeekUpBtn.Glyph.Width + dvWeekDownBtn.Glyph.Width + 3*Scale96ToFont(4));
dvWeekUpBtn.Glyph.Width + dvWeekDownBtn.Glyph.Width);
end;
procedure TVpDayViewPainter.FixFontHeights;

View File

@ -3,7 +3,6 @@ object frmPrnFormat: TfrmPrnFormat
Height = 490
Top = 274
Width = 694
ActiveControl = lbFormats
Caption = 'Print Format Designer'
ClientHeight = 490
ClientWidth = 694
@ -51,21 +50,6 @@ object frmPrnFormat: TfrmPrnFormat
Width = 23
Anchors = [akLeft, akBottom]
BorderSpacing.Top = 4
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
0400000000000001000000000000000000001000000010000000000000000000
8000008000000080800080000000800080008080000080808000C0C0C0000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
3333333333333333333333333333333333333333333333333333333333333333
333333333333333333333333337777733333333333FFFFF33333333334444473
33333333377777F3333333333CCCC47333333333377777F3333333333CCCC473
33333333377777F3333333333CCCC47333333333377777F3333333333CCCC473
33333333377777F3333333333CCCC47773333333377777FFF333333CCCCCCCCC
333333377777777733333333CCCCCCC33333333377777773333333333CCCCC33
33333333377777333333333333CCC333333333333377733333333333333C3333
3333333333373333333333333333333333333333333333333333
}
NumGlyphs = 2
OnClick = btnMoveElementUpClick
end
object btnMoveElementDn: TSpeedButton
@ -81,21 +65,7 @@ object frmPrnFormat: TfrmPrnFormat
Width = 23
Anchors = [akLeft, akBottom]
BorderSpacing.Top = 4
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
0400000000000001000000000000000000001000000010000000000000000000
8000008000000080800080000000800080008080000080808000C0C0C0000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
3333333333333333333333333333333333333333333333333333333333337333
333333333333F3333333333333347733333333333337FF333333333333CC4773
3333333333777FF3333333333CCCC47733333333377777FF33333333CCCCCC47
733333337777777FF333333CCCCCC4443333333777777777333333333CCCC473
33333333377777F3333333333CCCC47333333333377777F3333333333CCCC473
33333333377777F3333333333CCCC47333333333377777F3333333333CCCC473
33333333377777F3333333333CCCC43333333333377777333333333333333333
3333333333333333333333333333333333333333333333333333
}
NumGlyphs = 2
Spacing = 0
OnClick = btnMoveElementDnClick
end
object LblPrintOrder: TLabel
@ -248,7 +218,7 @@ object frmPrnFormat: TfrmPrnFormat
BevelOuter = bvNone
ClientHeight = 33
ClientWidth = 694
TabOrder = 8
TabOrder = 9
object btnLoadFile: TButton
AnchorSideLeft.Control = btnNewFile
AnchorSideLeft.Side = asrBottom
@ -312,7 +282,6 @@ object frmPrnFormat: TfrmPrnFormat
BorderSpacing.Right = 6
BorderSpacing.Bottom = 4
Caption = 'OK'
Default = True
OnClick = btnOkClick
TabOrder = 3
end
@ -345,10 +314,10 @@ object frmPrnFormat: TfrmPrnFormat
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = lbElements
AnchorSideBottom.Side = asrBottom
Left = 389
Left = 395
Height = 430
Top = 27
Width = 305
Width = 293
CurPage = 0
DrawingStyle = dsFlat
EndDate = 37377.6447728357
@ -356,21 +325,21 @@ object frmPrnFormat: TfrmPrnFormat
Anchors = [akTop, akLeft, akRight, akBottom]
Parent = Owner
TabStop = True
TabOrder = 9
TabOrder = 8
end
object OpenDialog1: TOpenDialog
object OpenDialog: TOpenDialog
Title = 'Open filter file'
DefaultExt = '.xml'
FileName = '*.xml'
Filter = 'Filter Files (.xml)|*.xml|All Files (*.*)|*.*'
Filter = 'Print Format Files (.xml)|*.xml|All Files (*.*)|*.*'
Left = 400
Top = 128
end
object SaveDialog1: TSaveDialog
object SaveDialog: TSaveDialog
Title = 'Save formats as'
DefaultExt = '.xml'
FileName = '*.xml'
Filter = 'Filter Files (.xml)|*.xml|All Files (*.*)|*.*'
Filter = 'Print Format Files (.xml)|*.xml|All Files (*.*)|*.*'
Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]
Left = 400
Top = 200

View File

@ -73,10 +73,10 @@ type
LblElements: TLabel;
lbElements: TListBox;
lbFormats: TListBox;
OpenDialog1: TOpenDialog;
OpenDialog: TOpenDialog;
ButtonPanel: TPanel;
PrintPreview: TVpPrintPreview;
SaveDialog1: TSaveDialog;
SaveDialog: TSaveDialog;
btnOk: TButton;
LblPrintOrder: TLabel;
procedure btnDeleteElementClick(Sender: TObject);
@ -158,10 +158,14 @@ uses
{$ENDIF}
{TfrmPrnFormat}
procedure TfrmPrnFormat.FormCreate(Sender: TObject);
begin
OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);
SaveDialog1.InitialDir := ExtractFilePath(Application.ExeName);
LoadGlyphFromRCDATA(btnMoveElementUp.Glyph, 'VpUpArrow', -1, 150, 200);
LoadGlyphFromRCDATA(btnMoveElementDn.Glyph, 'VpDownArrow', -1, 150, 200);
OpenDialog.InitialDir := ExtractFilePath(Application.ExeName);
SaveDialog.InitialDir := ExtractFilePath(Application.ExeName);
IsDirty := False;
FormatFileName := UnnamedFile;
@ -170,13 +174,13 @@ begin
SetCaptions;
end;
{=====}
procedure TfrmPrnFormat.EnableMoveButtons;
begin
btnMoveElementUp.Enabled := lbElements.ItemIndex > 0;
btnMoveElementDn.Enabled := (lbElements.ItemIndex > -1) and (lbElements.ItemIndex < lbElements.Items.Count - 1);
end;
{=====}
procedure TfrmPrnFormat.FormShow(Sender: TObject);
begin
PositionControls;
@ -193,7 +197,7 @@ begin
btnNewFormat.Enabled := True;
lbFormats.SetFocus;
end;
{=====}
procedure TfrmPrnFormat.btnDeleteElementClick(Sender: TObject);
var
Format: TVpPrintFormatItem;
@ -216,7 +220,7 @@ begin
end;
end;
end;
{=====}
procedure TfrmPrnFormat.btnDeleteFormatClick(Sender: TObject);
var
Prn: TVpPrinter;
@ -231,17 +235,17 @@ begin
IsDirty := True;
UpdatePreview;
end;
{=====}
procedure TfrmPrnFormat.btnEditElementClick(Sender: TObject);
begin
DoEditElement;
end;
{=====}
procedure TfrmPrnFormat.btnEditFormatClick(Sender: TObject);
begin
DoEditFormat;
end;
{=====}
procedure TfrmPrnFormat.btnLoadFileClick(Sender: TObject);
var
Prn: TVpPrinter;
@ -256,8 +260,8 @@ begin
end;
end;
if OpenDialog1.Execute then begin
FormatFileName := OpenDialog1.FileName;
if OpenDialog.Execute then begin
FormatFileName := OpenDialog.FileName;
lbFormats.Items.Clear;
Prn := ControlLink.Printer;
Prn.LoadFromFile(FormatFileName, False);
@ -265,7 +269,7 @@ begin
UpdateCaption;
end;
end;
{=====}
procedure TfrmPrnFormat.btnMoveElementDnClick(Sender: TObject);
var
E: TVpPrintFormatElementItem;
@ -276,7 +280,7 @@ begin
lbElements.Items.Move(lbElements.ItemIndex, lbElements.ItemIndex + 1);
end;
end;
{=====}
procedure TfrmPrnFormat.btnMoveElementUpClick(Sender: TObject);
var
E : TVpPrintFormatElementItem;
@ -287,12 +291,12 @@ begin
lbElements.Items.Move(lbElements.ItemIndex, lbElements.ItemIndex - 1);
end;
end;
{=====}
procedure TfrmPrnFormat.btnNewElementClick(Sender: TObject);
begin
DoNewElement;
end;
{=====}
procedure TfrmPrnFormat.btnNewFormatClick(Sender: TObject);
var
NewFormatIdx: Integer;
@ -310,7 +314,7 @@ begin
Break;
end;
end;
{=====}
procedure TfrmPrnFormat.btnNewFileClick(Sender: TObject);
var
Rslt: Integer;
@ -332,17 +336,17 @@ begin
else
DoNewFile;
end;
{=====}
procedure TfrmPrnFormat.btnOkClick(Sender: TObject);
begin
ModalResult := mrOk;
end;
{=====}
procedure TfrmPrnFormat.btnSaveFileClick(Sender: TObject);
begin
DoSave;
end;
{=====}
function TfrmPrnFormat.DirtyPrompt: Integer;
var
msg: String;
@ -353,7 +357,7 @@ begin
msg := Format(RSSaveFormatChangesToFilename, [FormatFileName]);
Result := MessageDlg(msg, mtConfirmation, [mbYes, mbNo, mbCancel], 0);
end;
{=====}
procedure TfrmPrnFormat.DoEditElement;
var
E: TVpPrintFormatElementItem;
@ -375,7 +379,7 @@ begin
DoNewElement;
end;
end;
{=====}
procedure TfrmPrnFormat.DoEditFormat;
var
AFormat: TVpPrintFormatItem;
@ -395,7 +399,7 @@ begin
DoNewFormat;
end;
end;
{=====}
procedure TfrmPrnFormat.DoNewElement;
var
Format: TVpPrintFormatItem;
@ -438,7 +442,7 @@ begin
frmEditElement.Free;
end;
{=====}
procedure TfrmPrnFormat.DoNewFile;
var
Prn: TVpPrinter;
@ -454,7 +458,7 @@ begin
btnNewFormat.Enabled := True;
EnableElementButtons(False);
end;
{=====}
function TfrmPrnFormat.DoNewFormat: Integer;
var
AFormat: TVpPrintFormatItem;
@ -498,38 +502,36 @@ begin
frmEditFormat.Free;
end;
{=====}
procedure TfrmPrnFormat.DoSave;
begin
if FormatFileName <> UnnamedFile then
SaveDialog1.FileName := FormatFileName
SaveDialog.FileName := FormatFileName
else
SaveDialog1.FileName := 'Unnamed.xml';
if SaveDialog1.Execute then begin
FormatFileName := SaveDialog1.FileName;
SaveDialog.FileName := 'Unnamed.xml';
if SaveDialog.Execute then begin
FormatFileName := SaveDialog.FileName;
ControlLink.Printer.SaveToFile(FormatFileName);
IsDirty := False;
UpdateCaption;
end;
end;
{=====}
procedure TfrmPrnFormat.EnableElementButtons(Enable: Boolean);
begin
btnNewElement.Enabled := Enable;
btnEditElement.Enabled := Enable;
btnDeleteElement.Enabled := Enable;
// btnMoveElementUp.Enabled := Enable;
// btnMoveElementDn.Enabled := Enable;
EnableMoveButtons;
end;
{=====}
procedure TfrmPrnFormat.EnableFormatButtons(Enable: Boolean);
begin
btnNewFormat.Enabled := Enable;
btnEditFormat.Enabled := Enable;
btnDeleteFormat.Enabled := Enable;
end;
{=====}
function TfrmPrnFormat.Execute: Boolean;
begin
if not Assigned (ControlLink) then
@ -537,7 +539,7 @@ begin
Result := ShowModal = mrOk;
end;
{=====}
procedure TfrmPrnFormat.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var
@ -562,12 +564,12 @@ begin
end else
CanClose := True;
end;
{=====}
function TfrmPrnFormat.GetControlLink: TVpControlLink;
begin
Result := FControlLink;
end;
{=====}
procedure TfrmPrnFormat.lbFormatsClick(Sender: TObject);
var
E: TVpPrintFormatElementItem;
@ -598,12 +600,12 @@ begin
EnableFormatButtons(True);
EnableMoveButtons;
end;
{=====}
procedure TfrmPrnFormat.lbElementsClick(Sender: TObject);
begin
EnableElementButtons(True);
end;
{=====}
procedure TfrmPrnFormat.lbElementsMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
@ -612,7 +614,7 @@ begin
LastY := Y;
DragItem := (Sender as TListBox).ItemAtPos(Point(LastX, LastY), True);
end;
{=====}
procedure TfrmPrnFormat.lbElementsDragDrop(Sender, Source: TObject; X, Y: Integer);
var
lb: TListBox;
@ -627,7 +629,7 @@ begin
lb.ItemIndex := Dest;
EnableMoveButtons;
end;
{=====}
procedure TfrmPrnFormat.lbElementsDragOver(Sender, Source: TObject; X,Y: Integer;
State: TDragState; var Accept: Boolean);
var
@ -693,19 +695,12 @@ begin
LblPrintOrder.Width
]);
btnNewFormat.AutoSize := false;
btnEditFormat.AutoSize := false;
btnDeleteFormat.AutoSize := false;
btnNewElement.AutoSize := false;
btnEditElement.AutoSize := false;
btnDeleteElement.AutoSize := false;
btnNewFormat.Width := w;
btnEditFormat.Width := w;
btnDeleteFormat.Width := w;
btnNewElement.Width := w;
btnEditElement.Width := w;
btnDeleteElement.Width := w;
btnNewFormat.Constraints.MinWidth := w;
btnEditFormat.Constraints.MinWidth := w;
btnDeleteFormat.Constraints.MinWidth := w;
btnNewElement.Constraints.MinWidth := w;
btnEditElement.Constraints.MinWidth := w;
btnDeleteElement.Constraints.MinWidth := w;
if LblPrintOrder.Top < BottomOf(btnDeleteElement) + 16 then
Height := Height + BottomOf(btnDeleteElement) + 16 - LblPrintOrder.Top;
@ -715,7 +710,8 @@ procedure TfrmPrnFormat.SetDrawingStyle(const v: TVpDrawingStyle);
begin
FDrawingStyle := v;
if FDrawingStyle = dsNoBorder then
PrintPreview.BorderStyle := bsNone else
PrintPreview.BorderStyle := bsNone
else
PrintPreview.BorderStyle := bsSingle;
PrintPreview.DrawingStyle := FDrawingStyle;
end;
@ -728,12 +724,12 @@ begin
FControlLink.Printer.DefaultXMLFileName := v;
end;
end;
{=====}
procedure TfrmPrnFormat.UpdateCaption;
begin
Caption := Format(FileCaption, [FormatFileName]);
end;
{=====}
procedure TfrmPrnFormat.UpdateFormats;
var
i: Integer;
@ -766,7 +762,7 @@ begin
EnableMoveButtons;
end;
{=====}
procedure TfrmPrnFormat.UpdatePreview;
var
Prn: TVpPrinter;
@ -783,8 +779,6 @@ begin
EnableMoveButtons;
RebuildPreview;
end;
{=====}
end.

View File

@ -222,46 +222,6 @@ object DlgEventEdit: TDlgEventEdit
Width = 32
BorderSpacing.Left = 16
BorderSpacing.Top = 12
Picture.Data = {
1754506F727461626C654E6574776F726B477261706869638504000089504E47
0D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000
097048597300000EC300000EC301C76FA8640000001974455874536F66747761
7265007777772E696E6B73636170652E6F72679BEE3C1A000004124944415458
85BD975B6C546510C77FF39D6DED25606B2590D2DA526291EED6A0A942828288
8F3C98DE15DF8CA0312AD4447DA2145FBC3CC883515063401253BB82C6F48980
D1A0165148A4BBAD9550B7DAB410AE054D5BD973C6873D7B69D96E7BB6E8976C
76E63B33F3FFEDE47CB3E788AA92D5EAA8DD843A7B0110B395F6DEEE6CCA98EC
D401740F501AFBE89E6CAB640FA0BA34ADFD7F0008882DE65CDC4FB53DD7F272
0F4867A81CCBBC0CDAB0E9FAA9B2BD231F00B0B5740BDD0BEE8F8004B1E41DAD
5F397ACB0124D8D706FA3A50304BE87584D7B4D1FFDE2D0390CFFBDE47F559D7
559023C0578813C111C1B01C95C741D7279294DDDAECDF3E6F00E90ABF8AF086
EB0E82F39436D5F6A48D0DF6AE077300288F6DB05D1BFDBBB3069083FD77E338
BDC06DC059A2BA569F089CCF58B073A0142BFA3D5009328E6507B4BE7670A6F8
CCA7C076B6C5C4C5C631CDB3890368EB8A118CB4020E683EB6F562A6F8CC00C2
06B7EC616D59796A36F1044443CD8F20475DF7D1EC01A0C22509CD553CB144DD
1CADC80A40F645F2881F39D54B9E0192390B25D897EB1980C2B192248D5EF40E
40123AEA147B07505F75D2B6E63CD9124BCC48C2CE31D53385CD0C20F2705C1E
99F8C93300933D40FC8C3FE41D00270ED0AF4DF75DF02AEFE60CC49C94093917
00E90C9583718F205F7B154F16227E14374AF097B47FD9E93B60640BA8E5DA1F
670D60F3A16BF950EB99B48CD347B17CDA5B4C8EF90DB813F8419BFC6BB30600
2418EA01590372811BF60A7DB2F64AEA75DF4D193EE970C569B976FC1376B6EC
07BD88120189606414DBB1B1ACB1448E6DE783938798228C2EC291A508772152
DC50DEB6FFE082D56B4017916BED045E9AB103F2596839467E8D81E9110DB57E
89E8BBF3E900C27352D3D5086C04A2387A8FB604CEA6EF80312F80FA406C8C6C
C37006CC283855A095602A8125A80A509422320E32017A15B80C3A0CFC81C310
A305DD04E4188E9E067C58F23CD0961E005DE77E7FA30DFE300D218043F3EA00
A0109660F85B60032AEBA6FCE669B18B63197A4E82276F9FAF707CC9BE481EAA
EE64D4C5A9D7A6DF84C34029229B216FB304C39780DF111D446518D5499031D0
71C44CA0CE558C18541602B9A816221480E4034B40CB80720A651988E5020C67
0090B7410F0079EE460950824A5DECB2C4E3883D1A8A3B6C35B94D8ACF745FC6
51F3E614C59BE6C0A1D36544ADD5885621A60AD52AA0CA85294A95C9B0FE022E
037F820CA37A064318637FA7F5F74EE980A7F70276041EF8C7B24E5C33F98375
956F3D36947B872147B5E2EF2BFAF3D02B470B9DC965F9D1893A76F59F9C6B49
6F00CD625153D30754837CC40D6707B98E806F17AA4F23324038ECA74BEDFF06
00A023F020AAC780A94F39C224E823B4F71DF752CEFBBB617BE804B65985C817
08A308E7410F81B5CAAB38C0BFC9869005A218A0020000000049454E44AE4260
82
}
end
object CBAllDay: TCheckBox
AnchorSideLeft.Control = imgClock
@ -438,45 +398,6 @@ object DlgEventEdit: TDlgEventEdit
Top = 76
Width = 32
BorderSpacing.Left = 16
Picture.Data = {
1754506F727461626C654E6574776F726B477261706869638404000089504E47
0D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000
097048597300000EC300000EC301C76FA8640000001974455874536F66747761
7265007777772E696E6B73636170652E6F72679BEE3C1A000004114944415458
85C5975B681C6518869F6F76B709C5434D4A2AB598A205DBDDA44989568BA978
23280649B453D354AD22C4E0452E5AC11B21C62BC1A222B5A6E885D04368266C
2BF642BC10F180D09AD26EB2BB82458B4995A606ECC91C76673E2F76766793EC
642735D60F06F67FFFEFFFDE7766FFC3FB8BAAB2989023C377100ED763387538
DCEAC2D780143233A2E6A64B8BAA174480F48FAC224C3BC84EE08132E93F82F4
93750EEB8EBA8BFF4A8058A95B507D1D6137B0BCACD2D9711DE15D9685DFD1A7
EEBBBA6801620D6F8190057AD79CAE2960182481E89F00A8AC042706D20854CE
C91F05D9A666F464600162A55E04ED032A8AE05320FB995916D79DEBAE942C76
F8DC6D544CB7A2D20DDA54D4350DD2A566F4D35CFDE4B7006AC6B6CE132056AA
03F410202E348EC86EB6458F28049AB102C240B21DE10360A50B3BA8EED0ED75
036225D51520B304C840FA11C4F9D27B733D0D469B9AD1DF8210CF13124FD762
3BC7804D2E348DC863A87E334F809C185ACE64E530708F9B9C249269D6D6C6BF
4A56EFAD6F419D03B9C1C62BF40C9F2829C21ABA1D2ABF061A5DE83CB0362FC0
2864FE5DD9E391CB2542F6E3BEE4803B4756E71EEDF3CD329B2E43B6059870A1
B5C5FD06801CFBA91AA1DB839D3DFAF4C6317F72408B5687CE5B297344345C00
79AD545F1880ACB30B6FF99CC2AC3BB42079C070677BF34239EE5FA02F140DDB
1F74B62F4584DD4952EFB6334C65ADA52AAE666C6BB91C03A97890C297E08C3E
BFF1FA5209081206C8DD5E531237933C27C03B5201BD7CF3058878FBBD90F91F
04E09DD92AAB038F14B950F2F7A205E0FCEA35F5DEE043A50BF83DF748D78D0A
10E2676BC886FEC88921432453B3F016BCB46168DBC671D0BC598830136EF9AF
C86420F9B058C909B19269E91F590585F56F7CE665C91EF1BC807FF4449FA4B7
6E8C3763A3F4C49E284BDE8B81F0215005AC27CCA39E80B0F13190F76D8D0C26
9F2DFF3AD2E71E426B303850367FC34807D0E0B6AE42E6AB82006D5B3F81EABE
42B2F291C4D3B5658B060C89A76B1179BF08D99BB7EF9E1FC854BE0DFCE2B656
60DB71B15255BE55954E600C6114A4D397DC4A55613BC7816A173A4F45E8BD42
FF2C4B66A536837E07445CE82C21BBA5AC37F0238F27D66087BE00622E34054E
B39AF543F91CA37840CE3AEBCB20B60B3560871262A53A024DCC62F281E42EEC
50C223171BB4B3981CFC6CF960B21DE52079C3928B04E85E22D9CFFDF6899C2D
9F7906D56E3C0F08395BFE9C9AD1C179637C2F2647D30F6138078175737A6CE0
24700E75C61111846A940D204DA0A139A57E467949B7C7BE2FC953F66A26FA06
CAAB507C6A068A6BC03EB8F2969A5B267D39025D4E8F9F594136D2894A2BB0B9
C45BE6336DD0D3881C45273FC939E232B56FE87A1E91FB813B11A306471D0C26
70B848A6E207BF6B9B5FFC032D1B905F4C97C7260000000049454E44AE426082
}
end
object RecurringLbl: TLabel
AnchorSideLeft.Control = ImgRecurring
@ -563,51 +484,6 @@ object DlgEventEdit: TDlgEventEdit
BorderSpacing.Left = 16
BorderSpacing.Top = 12
BorderSpacing.Bottom = 8
Picture.Data = {
1754506F727461626C654E6574776F726B477261706869633505000089504E47
0D0A1A0A0000000D4948445200000020000000200806000000737A7AF4000000
097048597300000EC300000EC301C76FA8640000001974455874536F66747761
7265007777772E696E6B73636170652E6F72679BEE3C1A000004C24944415458
85C5976B6C936514C77FA757940911E4BA0B0136D1764B144D0C37231225F1C2
06AC938060443E28104DCC6EC0665707C8C6C54443881ABC4490B04DD83E0089
4E1222424C20444601CD82289B0306096C2C59DBF53D7ED85BB2ADA52DB0847F
F2A64D9EE7FCCFEF797A9EE73D1555E541CAF240B303B63B0D48EDD9B1A89620
CC072600978006C2B64F74D194FF62C7FC918AD8D6A0CC03D2818B28F58854A9
C77539664CAC9F406AFCB3116A8191C031043FCA93C00CE0061699A50B5DFE7E
317BCF6563317E058603BF219C437103D381EB602C544FCE918400527B3613F4
244827B0483DAEA37DC066203482B441E039F53CDDDE1B736A14387F071D07C6
8BEAC939DEC76F26E85E90A158C3537541CE85BEF962D480AE03198AA1AFF64B
BEAF6912422530048C2E2CCED1B7438C2163C0E8EA1DB36C907D4D936EBB795C
47B1C86B400A61EBDA2476C0DF069C568F7B2E80F8B0E0F6BF8FB23E23D4E65C
DBFE65E38A1B75562B9A01A499612D61E4DFAF4614F46C1CB9E2A54BF6710184
32FCEECFD48B61FAFE0232453DAEB444004154776941F672F9B1E9090CCBCED4
D0D5E99B2F6FB9B6A8E3E008497C728C4329B36EAE1C5FF6E8457BEA312CC63B
BA30E7BCD4F8BF4328508FFBA10400672F805E03D907EA5DD0D168DDD352A40E
0D398020C27EA09E1E4ED14D0B004348C3C254843C200F70042DF6C01BE95BA4
3E658E01E203F24187ABC79D151FA0CE5F865209507175C7DFDEF6ED13E85D75
1D42095EED5744512A97C9D8D88C321F303E1AB5FA9FCAD1EF4E0440759D1664
6F8C0FB0BB79188EC099CAF6CF7F2ABBFAC5DB080A14E3D56D037349AD5F01D4
E3962810AF14216C02F08D7AEFEB8AD1ABE6127466EB92CC8EB80000C7376567
4EEBF69F0252500AF1E9D6588B8D0B00E09362942A84CEA3CE9CA766969E8EDA
BD980535ADDBBF064801EAEE943C2979B51AA847796466A0A934D69468009F64
20BC456FC195DC73F288842220082CC727690387A3010C7251AC08FB13165C32
F26A3342038A1583DCC400C22B2648C37D278F28E215F18E0B009966D0894104
3861024C4E06602C0036DA060DC0462B004A6AF4D02028721C07E8B07ADC73CC
EF91851A0327C5DA8148B3317E10D8228A78453532B176E002F03806CF007FC5
73BDE30514AD67FB78F753AC5370C0FCCC4BD23CB1D43C7E11EFB800211A10C2
401EE51255B577AD72C942C8057A08451FED6880F57A09E51BC0818DCDF7955C
44CC37A31D6127EBB5353100400F15089D28F3F14AD13D03545082928B709320
BE58536203F492BE0918089BEE1A4244F04929CA06C0C060091B34E6BD12DD0F
1C6A76D219F8186169E1F56F1FAEBEB27598A88AD90915E3D5E6B8C9CB250B2B
5B80792AA285638A3AB68D5CD685B20B9172F5B882F1016AFC550885A8EE0178
FDD691C5B52D1F869C46D0811002EA3168C0C249305BB21ED26FB764422E8ABD
5B1CC1FCF44FED07529EFFC1DC95C508D59AEF2E8D0F50EB6F45E4B0E6BB96F6
029DD935267C7DCEE53F5FA8015692F8F6341076A76535BEDCEA18F7735F1F44
66ABC7DDEF3A4EEABFE115DB630615FA01C24494D5088780F3C02DF3390F1C44
58450F19787559AB7D6C3819EFE8D508DFA35A2C35677A6F3991C54015005E6D
01B69B4F7CC5F3890B30D4E9A52B00C852D3A81A156F32ABB9179FFF01757EEC
0254F42D740000000049454E44AE426082
}
end
object AlarmSet: TCheckBox
AnchorSideLeft.Control = ImgAlarm
@ -684,16 +560,6 @@ object DlgEventEdit: TDlgEventEdit
Width = 24
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 16
Glyph.Data = {
F6000000424DF600000000000000760000002800000010000000100000000100
0400000000008000000000000000000000001000000010000000000000000000
8000008000000080800080000000800080008080000080808000C0C0C0000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00888888888888
8888888888000888888888888080808888088888080880888088888080888808
0888880880888808888800888008880888880888808088080000088880808808
8888008880088808888888088088880808888880808888088088888808088088
8808888880808088888888888800088888888888888888888888
}
OnClick = SoundFinderBtnClick
end
object EndTimePlaceholder: TEdit

View File

@ -39,7 +39,7 @@ uses
{$ELSE}
Windows, Messages,
{$ENDIF}
Classes, Controls, Graphics, SysUtils;
Classes, Controls, Graphics, Types, SysUtils;
type
TSegmentSize = 2..10;
@ -71,6 +71,7 @@ type
procedure SelectSegments(Segment: Word; Points: array of TPoint;
OffsetX, OffsetY: Integer);
protected
class function GetControlClassDefaultSize: TSize; override;
procedure Paint; override;
public
constructor Create(AOwner:TComponent);override;
@ -245,14 +246,17 @@ const
constructor TVpCustomLEDLabel.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
ControlStyle := [csCaptureMouse,
csOpaque,
csSetCaption,
csClickEvents,
csDoubleClicks];
lbDrawBmp := TBitmap.Create;
Width := 170;
Height := 30;
FOnColor := clLime;
FOffColor := $000E3432;
FBgColor := clBlack;
@ -261,7 +265,6 @@ begin
FColumns := 10;
Caption := 'LED-LABEL';
end;
{=====}
destructor TVpCustomLEDLabel.Destroy;
begin
@ -269,27 +272,23 @@ begin
lbDrawBmp := nil;
inherited Destroy;
end;
{=====}
function TVpCustomLEDLabel.GetAbout : string;
begin
Result := VpVersionStr;
end;
{=====}
procedure TVpCustomLEDLabel.SetAbout(const Value: string);
begin
{Leave empty}
Unused(Value);
end;
{=====}
procedure TVpCustomLEDLabel.CMTextChanged(var Message: {$IFDEF LCL}TLMessage{$ELSE}TMessage{$ENDIF});
begin
inherited;
Invalidate;
end;
{=====}
procedure TVpCustomLEDLabel.Initialize(out Points: array of TPoint);
var
@ -300,7 +299,6 @@ begin
Points[i].Y := DigitPoints[i].Y * (FSize - 1);
end;
end;
{=====}
function TVpCustomLEDLabel.NewOffset(xOry:char;oldOffset:integer):integer;
begin
@ -309,7 +307,6 @@ begin
else
newOffset := oldOffset + 30 * (FSize -1)
end;
{=====}
procedure TVpCustomLEDLabel.Paint;
var
@ -326,7 +323,6 @@ begin
Canvas.CopyMode := cmSrcCopy;
Canvas.Draw(0, 0, lbDrawBMP);
end;
{=====}
procedure TVpCustomLEDLabel.PaintSegment(Segment: Integer; Color: TColor;
Points: array of TPoint;
@ -344,7 +340,6 @@ begin
end;
lbDrawBMP.Canvas.Polygon(DrawPts);
end;
{=====}
procedure TVpCustomLEDLabel.SelectSegments(Segment: word; Points: array of TPoint;
OffsetX, OffsetY: Integer);
@ -376,7 +371,6 @@ begin
end;
end;
end;
{=====}
procedure TVpCustomLEDLabel.ProcessCaption(Points: array of TPoint);
var
@ -479,7 +473,6 @@ begin
end;
end;
end;
{=====}
procedure TVpCustomLEDLabel.ResizeControl(Row, Col, Size: Integer);
begin
@ -489,7 +482,6 @@ begin
SetBounds(Left, Top, FColumns * 17 * (FSize - 1), FRows * 30 * (FSize - 1));
Invalidate;
end;
{=====}
procedure TVpCustomLEDLabel.SetBgColor(Value:TColor);
begin
@ -498,7 +490,6 @@ begin
Invalidate;
end;
end;
{=====}
procedure TVpCustomLEDLabel.SetOnColor(Value:TColor);
begin
@ -507,7 +498,6 @@ begin
Invalidate;
end;
end;
{=====}
procedure TVpCustomLEDLabel.SetOffColor(Value:TColor);
begin
@ -516,7 +506,6 @@ begin
Invalidate;
end;
end;
{=====}
procedure TVpCustomLEDLabel.SetRows(Value : Integer);
begin
@ -526,7 +515,6 @@ begin
ResizeControl(Value, FColumns, FSize);
end;
end;
{=====}
procedure TVpCustomLEDLabel.SetColumns(Value : Integer);
begin
@ -536,7 +524,6 @@ begin
ResizeControl(FRows, Value, FSize);
end;
end;
{=====}
procedure TVpCustomLEDLabel.SetSize(Value : TSegmentSize);
begin
@ -548,6 +535,12 @@ begin
ResizeControl(FRows, FColumns, Value);
end;
end;
{=====}
{ Defines the initial size of the control. }
class function TVpCustomLEDLabel.GetControlClassDefaultSize: TSize;
begin
Result.CX := 170;
Result.CY := 30;
end;
end.

View File

@ -1186,8 +1186,12 @@ begin
resName := ABaseResName + ResToStr(AHighRes)
else if ppiFactor >= 115 then
resName := ABaseResName + ResToStr(AMedRes)
else
resName := ABaseResName + ResToStr(ALowRes);
else begin
if ALowRes <= 0 then
resName := ABaseResName
else
resName := ABaseResName + ResToStr(ALowRes);
end;
stream := TResourceStream.Create(HINSTANCE, resName, RT_RCDATA);
try

View File

@ -42,7 +42,7 @@ uses
{$ELSE}
Windows, Messages,
{$ENDIF}
Classes, Graphics, Controls, ComCtrls, ExtCtrls, Buttons, Forms, Menus,
Classes, Graphics, Types, Controls, ComCtrls, ExtCtrls, Buttons, Forms, Menus,
VpConst, VpBase, VpBaseDS, VpMisc, VpData, VpSR;
type
@ -245,6 +245,7 @@ type
{ inherited methods }
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
class function GetControlClassDefaultSize: TSize; override;
procedure Loaded; override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
@ -560,16 +561,16 @@ begin
SetLength(mvEventArray, MaxVisibleEvents);
SetLength(mvMonthdayArray, 45);
{ size }
Height := 225;
Width := 300;
{ Popup menu }
FDefaultPopup := TPopupMenu.Create(Self);
FDefaultPopup.Name := 'default';
InitializeDefaultPopup;
Self.PopupMenu := FDefaultPopup;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
LoadLanguage;
mvHookUp;
@ -698,6 +699,13 @@ begin
mvPopulate;
end;
{ Defines the initial size of the control. }
class function TVpMonthView.GetControlClassDefaultSize: TSize;
begin
Result.CX := 225;
Result.CY := 300;
end;
function TVpMonthView.GetControlType: TVpItemType;
begin
Result := itMonthView;

View File

@ -61,7 +61,7 @@ uses
{$ELSE}
Windows, Messages,
{$ENDIF}
SysUtils, Classes, Controls, Forms, Graphics, Printers,
SysUtils, Graphics, Types, Classes, Controls, Forms, Printers,
VpBase, VpMisc, VpBaseDS, VpSR, VpException, Menus;
type
@ -120,6 +120,7 @@ type
procedure CreateWnd; override;
procedure DoScroll(var Msg: {$IFNDEF LCL}TWMSCROLL{$ELSE}TLMScroll{$ENDIF}; BarDirection: Integer);
procedure GeneratePageImage;
class function GetControlClassDefaultSize: TSize; override;
procedure GetLastPage;
procedure InitHScrollBar(PageSize, TotalSize: Integer);
procedure InitializeDefaultPopup;
@ -260,9 +261,11 @@ begin
FEndDate := Now + 7;
FScrollX := 0;
FScrollY := 0;
Height := 225;
Width := 169;
FPrinter := Printer;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
end;
destructor TVpPrintPreview.Destroy;
@ -483,6 +486,13 @@ begin
SetScrollBars;
end;
{ Defines the initial size of the control. }
class function TVpPrintPreview.GetControlClassDefaultSize: TSize;
begin
Result.CX := 169;
Result.CY := 225;
end;
procedure TVpPrintPreview.GetLastPage;
var
i: Integer;
@ -785,23 +795,15 @@ var
begin
if FBorderStyle = bsSingle then begin
R := ClientRect;
dec(R.Right);
dec(R.Bottom);
if FDrawingStyle = dsFlat then begin
// Draw a simple rectangular border
//InflateRect(R, 1, 1);
DrawBevelRect(WorkBmp.Canvas, R, clBtnShadow, clBtnShadow);
{
DrawBevelRect(WorkBmp.Canvas, R, clBtnShadow, clBtnHighlight);
InflateRect(R, 1,1);
DrawBevelRect(WorkBmp.Canvas, R, clBtnHighlight, clBtnShadow);
}
end else
if FDrawingStyle = ds3d then begin
// Draw a 3d bevel
dec(R.Right);
dec(R.Bottom);
DrawBevelRect(WorkBmp.Canvas, R, clBtnShadow, clBtnHighlight);
InflateRect(R, -1, -1);
DrawBevelRect(WorkBmp.Canvas, R, cl3DDkShadow, clBtnFace);
end;
end;
end;

View File

@ -165,142 +165,6 @@ object frmPrintPreview: TfrmPrintPreview
object imMain: TImageList
Left = 272
Top = 160
Bitmap = {
4C7A060000001000000010000000911000000000000078DACD97075055D7B7C6
D7BD7450411144A2A8081A2CC458B087008222A0227640B11144D1BFBD1B4510
13093152C4125154C460C18614518A0D052B55441050BAF47B69F77E6F5D306F
3289C973266FE6BD3BF3CD3973CFFE9D75F6DA7BEDB596E39429E4F851732C2C
68DFD6ADC79FA7A5D5B3AA9FA5A6563F67BDE0FB97FC9FDF9E3DE7E64E9E2C74
B6B3A3DF35C7DCBC5DB35976E3C691BF8FCF65FCCD2F2420206EBAA9A9C23CB6
35FFA3269999D1F44993C8C9CA8AE6989A92FFBE7D111289A47D7C2BAB89D5C8
6A91F1FEFE37E75B5ACA2FB6B5A5193CDECAD292BE65DE82F979FC9F3DF3C77C
7DCFCA78E91FD8DA8FF7E78283AFCEE2393AD9DB9325B3E6CC99312F93A5B535
0D1A324433F0C081447CB42763EB581F58CDACD0C38753794CAFC953A79239CF
5766D7D4D454C5CECECECD63E5CA985DDBB7BFB970364CD22C16A1B1A519352D
4DA8E46B696B33AA9B9B71FDC245E9AE9D3B0BD7AD5D17EF603F738D998579A7
F973E7FA3C4C4A82A8FA03CADFBD43F2F5087C789D8AEAC274541666A2A2280B
E5459928CF7F867B5117519095830FC545789070078B162E0CFED9CFAF00AD2D
686A68447E6E2E0A1E4740F22E0E6D05D7D09A731A6D2F83D0FAEC20A44FF7A3
38613FD21F3F425A6A1C0A739F22E867FFD2C8C8C81AD97C6B3FD4212FE3296A
12D60337AD813043484375203DA5DD2E847445CDF17EC84D8B47715129EA2A2A
70F3EAB5DAB09090DAAAE2625454D4E2DDF30434FBE8031BA9439B3E6A73875A
360A5172F73754D634A1BCA00057C2C26A827FFAA9FA494C0C9EDC494476F22D
149CFB11EFCFEE4659E82694FDBABA43A736E27DD82E14841F404E622C9E2424
41C69C0E08A809F4F37B5FF8EC1992AE5EC592452E70755F0B8F755BB16ADD36
BE7668D5FAEDF058BF0D6E1E1BB0C87921622E4440C69C080AAAF0F1F67ED258
5686E70F1F62CBA64DB871E33A921213712B2E8E158B58B613137D13717CBD71
FD3AB66CDE8C145EAFA6CA4A1CF4F5CD59B67CF9CA0749498D79191978C36AFF
F1FE6B6B6A424B63239A6A6BD15855855AB621AAAEC6DBCC4CE4B1521F3E14B9
BBBB6F9BE9E020EFEAE666BD6BFDFA33A545451DFB9EF74A8B58CC6BDA00514D
0DEAD9564D6987CF2B798F786EDA14B5C4D9D96EF6BC798A3367CDA2D56E6EE4
B3658B57767A7A7D6E56568D4CAF64CACCACC9CDC8A8C9494FAFC979F9B25D79
D9D9F53CF6F8028EBD853366F0C2E05F29DC843A34BA43E7F9FEE238B935E726
6BE3E82885ED47BE260A3026BA329128D192E88E05D1AD6F6840B2BD56C6C3D9
5DF3424712858E203A3D9CC563430690DBED8D3391177B0827C7744E383C8004
BF0E218A35234A603E7E22F54CB4D14EA9BC1B86573BCD5A8F31776C28D1F1C1
44470DC9E9F282E1ADA286A7284B3E8433268AB78F0D22C145FEAEFBD644B7CD
4929C14229A9E4FA2F1CE099C8DF32BCE938F3C7F9FB8E0E209BF3338C6A3FE4
46022511C8FAC9016126C293B2B9255AB12691CA1D33E18DC2D0EDFC3C1ECDC9
7B91E7AA532BE3830DC824D4A2DFFBD26761C0CB0328F2B3C16F139433CE8DA6
3ED7F9BB6F4F24C1AD71743A3FD803C83987D6C865285CDD17D9F6B42E781019
1D1FAB9D53987C18B8BB11A5BB8D71C154F5EDD9513424CA9C28D992E46F8D27
FF5C5F6748D382203D668EE2D5BAC8B4A5BD3933894E8C577FF6266A3FC7AC0B
3EAC51C76553E1FBF3A3E9EBF3E3D8D796EDDFBD2ADBD30E92446F609F3E4A96
AB21C7817CF3E611E5CD273A39A947F6FB2333809DEAA87455C0B5C9EA6F6F9A
D280FB3644F7AC6592DB50B07B3CE03B08F02094BA76C25B4785BDD58B885A57
101DF98A469E1F2BFFB6629B1EE0D91DE5BB4D106FAFF32AC98A0C5267B0DF6D
49E9890D9D2AF3D0E4E73D21DDAD8FEAEF87E3838B7053EB77EC7B5EFB5323C9
22C65AB5AA969FC15B17E53B86E2C1CC4E29CFECA9E7137BA2A7F6A4F86A8EE0
52ED962F00AFDE907A1942B455AFADC58D961D63FE0CAFEFE50934FFFEAC4E62
91B721B0570725AEAA786E4FC1CFD9474F59F9F349BDD4459820FEBE37FBA11F
A45BBB42BA4AAEEAF030F6C128A24B138862CCC8F5E5420DB41D1C8AC64D1AC8
9E4DB7336793207D16D11BF655850B756DF84E2E4DEA33A0DD97582D14DF9C44
1427DB1F325FB1CF526C68E3DB553DD0E069887C47B984D77348903B97A86001
51F962A246573290AE517A0EDFC17C26AAB73C73209249F68D4F58693CDFCCD9
C21D454B5450BC48E855E44C2453B113F32E44223722B8D3D758AB988FFF2814
FFDBF8FDDF5230C7AEBF1191CC9F47D99F811C8F811CB747797D64CF7EEE4B53
8F8E52CF099F6680D0B10AA99FC307311F3C8CBA317BF0A4995E5BFEED709424
FC8AF3133A8B3F870F30A2C98706089F46AFB1476D661C0FCB46D99D031C23AA
7FCBCBAE474690E2A101E47B7C9C5653C699FD90142770DC9E80243D0819FBA7
E39AA95CE9A7F88041ED364D0E1A50DAD56516A84CBB08649D02623D501BB608
F7960C44E4584ABD694E669FE055FCFA9267F070F58A2747B7A355760EDD7083
2460345E6F198A1B569D441746902FB35D6278BFFD990F1C4AC957178D46E5BD
9340B227C7491F88367441927D675C1A4F4FAE7E4363AEF01E979D29D19FE083
8C85A9B11EDFA2FEFC62DEDBBAC03A011A57CA21D9A11BA2ACBADC4FB020A3C7
36B2BD49F4D6E9AF7CF070523D644807C3C72934BCDED81F123F23605B2748F6
F443E13E6B3C5CF045F5032BDA99398B3A7D9267FF1D362641E828B28C182FC8
4E5BD81D8DDE06C02E0D6007DFFB8E45EE6A0364CC1226712C0DFD24CF79E0EC
58A2AB66D439DA9C8EDDB75792566CEE05E9CEEEC07A25483DF550B95A13854E
54F84FFC35F6512CC775B235CD7B3C5DF0AAC8BD1B5A77EA702DA38CE6D58A28
5F22107F0E7F772A119F417A990E74A27889329AB67447CB3A55D42DA7CFE7F9
6C78C5E747E17C9A5BB554AEB8719522C4EE82CCFF2F71FFBB38D73F38676788
63265DF30E1BD2F4F0F14437781E719CFFEE4D217AC16768EE1CA2F77C8ED62C
FBEBFA1F1DD949FC36EE280AEF5E40C4547D840EA6C06BA6A41D67FE99FC0855
71512CE74169161A726E2365C71C5C19237C196B4AD33E870F19217C97B6C716
12AE97917D02D2E23B7817E98BBB0E3AAD772DE810E711957FE24F8FA1B161C3
29E5EE2203D4852D04A257712D7002A2179791BB6B0A9E590B9FBF9A4113DAF9
E57FE5CFB2BF2E4EA0CE9747D2BE445BB5FA779C03A51CFBE05A419273195597
BF478173B7EA627BDACFF6553EC55FE0F8BEC6755682150D7F604D29B98BD4B8
E6560776F702E277A2253514D55EE350BB981EFC9997E59DB4E92C3BCE433664
F07476E784374BBBA3D94301F80F0FD9D303920B2E10FF6201B1ABF0D9DFF06A
8FA7D0E60C179DCA8A035338DE387E37A9427A60209ABCFAA3C155512C5A4881
CD2B48FDCF3CD70A5FA64E13DC79BD4A1F4D3F71BDB19D7B8E6D9DD1E66300D1
462DD42F17BE162DA3A9E2652460FE2FFE7B3283F28BDDBB42C2318EF58ACC77
43F3F75FA0CE5D198DCB2854EC461A625722E6E9537CE61C81B8C1438973B232
DA7668A37E4337D42C13E4352CA785B29C2B96E91FF8BC052416AD514133C778
CD0A65D42CA5B3F59CEB1B5C3B72F6FFC4173B0B9E57B92AE2C372B952669DEA
B9369289ED7F16FF7FA5AB53345E5EB7E95170956BCED88FB17EE35B3ECBF83C
FB956BFB9031F26EA72D7BE0F050851D27B8163869D2516F85B04EF0F324B731
CD65C9E188B5EDFD3C7A3C19DC9DD251E71FE3FC7DB03FE7E2AF55C2B2AFFC88
DB3B1D71D880D69FE4FC7E86DF738EDF13C17B3E79A99108A22728893B8E5B96
AA69099348E305EFC5087EEEDB8FBF6388FC9982681FB4B5BD40D4D209386148
AEE1FC6DFCBD243B5BE2EDBB57D4C5EF02CA6251747E2F1227C927A458539774
AEC54286B79FC9FBD33C6D8077E1A8E79EFA86F330F1D9C1342F72747BBD4851
136959CAC25E92E68B4B38D787A2F0D426DC37A74B193348E93AF73AFEC6A47B
7294624AFE0F9381A73EA8C90E47D4AC2F2B2F1A93B98CBFC9BE8A9E405BD297
E8A02DD8147874106F039721D58A42B866558CE55C7DC4980CC3C72BE5BEDBC9
692F610DAA528F23DAAED7DBA87134329AF95816E767CF5C673E16BCF420BDB3
1BC57EB390654FDF3FE39896D5C86747D3C04853417EA50787DEE579A848F809
B7ED35731E71BC3F6CAF5DE5B7E4BAA84BB18697F5070394EDFF06D973E47D5E
B22F2F7FC3F5F138D2BD62D539A79CF728B6AAA1E6D834242FD02D78642BEBAD
042B72D67E256993C5BB670F94ADD142E6348AE09A59E501BFFFE258D2BB32A5
7BFABB5D7C9EEDD644ED2E3D245B2B96DF3223D3145B9A93B5FC0B71CB5EAEA9
BD7451C9F93A6B962086EB66B564CE7F972652B7480BD5F8C24D43DA7B83C6BD
FAB8E7A0561F6D46D36F5BC9F2A3B0A4713DD7083E7AA8D9DE073973E41E71BD
AD2DABB965BDD7A56FC833D349997B026D34ED33C4A379EA2DBC4F97C5F1DAC8
F857F30522195BBF772072E6C967E4CCA6DEB25A3D897D72F19BF6779C295BDD
19D2434390E6D40DCCFE47C6FECEBF59DAB9B9D16710729D9473B31DE82B99DD
74CED9B1FC9CF317C54C1286BDDFDA1F596EBA60C653C6DC99DCC126F05ECF71
54C8CD73562ACD9945E37338BFBC663E8DFBA69B1C03713C2EDE5AB0E6BEBD32
12AC853E3C5E20EB33FEA87F1BBF3D7B6EA6EEDD57F731340C4A3630086FD0D5
DD3E4F47671B696BEF262D2D6FD2D4F4A1AE5DF753972EDEACFD3686869175FD
FB9F7F2A10FC682427E74F3A3AEBFBE8EBFB252F5850013737A077EF6B221D9D
ED8EDADABBFEC0EFA3CE9DBD6CFBF4B951EBE3238197571DF4F4CEA772573078
E8D0C01447C72AA4A4005555C08A15ADE8DA3546A4A5B57BBE969617F3FB485D
7DDF542DADE8DA0D1B9A505101BC79031C38508FA1432333468D0A17AD5E0DA4
A703F9F99C725F02CECE62282B4735686A7A3B6868ECB35453BB56B76449035E
BCE0323E07C8E4EAE9B7DF000B8BA4D69E3DB72F183122AAE1BBEF2488E316E1
E1436EC3EF0276760D1008A25A85C2C8265BDB5A242602F7EF0377EE00010152
661F35292804BB6B6A6EE5796E9D6F64142F72726A6B7FEFF5EB9CB623259838
B1122626E5888890E0DA35E0C2054EA37B24183F3EAD555EDE7F25770BCC6E23
0D8D2DBC06BB1CFBF68D11DBD8B4C0DF1F38C9657C5090048181128484C8EEA5
70776FC590210F5BE5E40298FD850482A076BE5BB76DECA31DFC1ECF193A3A37
9BCDCD1BE0CDEDFECF3F037E7E1C1A3E52CC9DDB883E7DEEB5090481DC4D1E22
996D19AFAAFA03292BFBF0D59B79AF6FF5F56F88BB7429C1A041A530372F6FD7
E8D12530322A41FFFE492DCC704407337F8275BA9D5750F066FB5EB64386DCAC
D3D1A90177BBAC0C566ABBD4D4D2D1B76F3EFBE303860DBB2F120A8F3A72E7DF
CE2B2BEFA74E9DBCA68E1A75AB564FAF91C797B3F25959ECFF5C282ABE86A666
16F4F5DFE0ABAF4A306D5A03BF27552427F72B5752A16CF7876963C644D7191A
B63053CB7AD7CE2B28144155F59E444D2DB1555BBB08FDFAE5C3D8B81813267C
808B4B33AFDFE30679F9330BC78EBD52376C18070235B12A5825CC55B0CD074D
AAAA412E8A8A81F69A9AF71A8C8CCAD8FE7BE6CB6165D580CD9B014BCB14B1B1
F16FE92626F56C4F66BF121A1AB5E8D52BB555452570A5B2B23F292A0610CF77
BE9EDE63D1B871D5BCF695B0B51561ED5A31468E4CC85751393078F0E0F3A9C6
C6B5D0D56D8581414A2BDB5DA9A07088F81DA4A414C8EB749875DC71E0C047A2
E9D3C558BCB891E7129FC5F31FA3AAEAC7360E18F5EF7F35EDCB2F939A555482
572828F83317F0DFBC5078847D7D94AF671C070D4A6934344C7CC55978B44070
86FE0B678DEAB0
}
end
object actMain: TActionList
Images = imMain

View File

@ -39,7 +39,7 @@ uses
Windows, Messages,
{$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
Buttons, Printers, ComCtrls, ActnList,
Buttons, Printers, ComCtrls, ActnList, ImgList,
{$IFDEF VERSION6} Variants, {$ENDIF}
VpMisc, VpBase, VpData, VpPrtPrv, VpSR, VpBaseDS, VpDlg,
VpPrtFmtCBox;
@ -74,7 +74,6 @@ type
actLastPage: TAction;
actCancel: TAction;
procedure FormShow(Sender: TObject);
procedure OKBtnClick (Sender : TObject);
procedure cboxZoomChange(Sender: TObject);
procedure actPrintExecute(Sender: TObject);
@ -85,11 +84,13 @@ type
procedure actMainUpdate(Action: TBasicAction; var Handled: Boolean);
procedure actCancelExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure VpPrintFormatComboBox1Change(Sender: TObject);
private
FDrawingStyle: TVpDrawingStyle;
procedure PopulateImageList;
procedure SetCaptions;
procedure SetDrawingStyle(AValue: TVpDrawingStyle);
@ -171,10 +172,35 @@ procedure TfrmPrintPreview.FormCreate(Sender: TObject);
begin
ReturnCode := rtAbandon;
SetCaptions;
PopulateImageList;
Toolbar1.ButtonHeight := ScaleY(Toolbar1.ButtonHeight, DesignTimeDPI);
Toolbar1.ButtonWidth := Toolbar1.ButtonHeight;
end;
procedure TfrmPrintPreview.PopulateImageList;
const
RES_NAMES: array[0..5] of string = (
'VpPrint', 'VpFirst', 'VpLArrow', 'VpRArrow', 'VpLast', 'VpCancel'
);
var
bmp16, bmp24, bmp32: TCustomBitmap;
i: Integer;
begin
imMain.RegisterResolutions([16, 24, 32]);
imMain.Scaled := true;
for i := 0 to High(RES_NAMES) do
begin
bmp16 := CreateBitmapFromResourceName(HINSTANCE, RES_NAMES[i]+'16');
bmp24 := CreateBitmapFromResourceName(HINSTANCE, RES_NAMES[i]+'24');
bmp32 := CreateBitmapFromResourceName(HINSTANCE, RES_NAMES[i]+'32');
imMain.AddMultipleResolutions([bmp16, bmp24, bmp32]);
bmp32.Free;
bmp24.Free;
bmp16.Free;
end;
end;
procedure TfrmPrintPreview.SetCaptions;
begin
Self.Caption := RSDlgPrintPreview;
@ -239,6 +265,7 @@ begin
EditForm := TfrmPrintPreview.Create(Application);
try
DoFormPlacement(EditForm);
EditForm.WindowState := WindowState;
EditForm.VpPrintPreview1.ControlLink := ControlLink;
EditForm.VpPrintFormatComboBox1.ControlLink := ControlLink;

View File

@ -38,7 +38,7 @@ uses
{$ELSE}
Windows, Messages,
{$ENDIF}
Classes, Graphics, Controls, ExtCtrls, StdCtrls, Menus,
Classes, Graphics, Types, Controls, ExtCtrls, StdCtrls, Menus,
VpConst, VpBase, VpBaseDS, VpMisc, VpData, VpSR;
type
@ -196,6 +196,7 @@ type
procedure EditTask;
procedure EndEdit(Sender: TObject);
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
class function GetControlClassDefaultSize: TSize; override;
{ Popup menu }
function GetPopupMenu: TPopupMenu; override;
@ -556,15 +557,16 @@ begin
SetLength(tlVisibleTaskArray, MaxVisibleTasks);
{ size }
Height := 225;
Width := 169;
// Popup menu
FDefaultPopup := TPopupMenu.Create(Self);
FDefaultPopup.Name := 'default';
InitializeDefaultPopup;
Self.PopupMenu := FDefaultPopup;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
LoadLanguage;
tlHookUp;
@ -651,6 +653,13 @@ begin
FExternalPopup := nil;
end;
{ Defines the initial size of the control. }
class function TVpTaskList.GetControlClassDefaultSize: TSize;
begin
Result.CX := 200;
Result.CY := 300;
end;
function TVpTaskList.GetControlType: TVpItemType;
begin
Result := itTasks;

View File

@ -55,11 +55,11 @@ interface
uses
{$IFDEF LCL}
LMessages, LCLProc, LCLType, LCLIntf, FileUtil,
LMessages, LCLProc, LCLType, LCLIntf,
{$ELSE}
Windows, Messages,
{$ENDIF}
Classes, Graphics, Controls, ComCtrls, ExtCtrls, StdCtrls, Buttons, Forms, Menus,
Classes, Graphics, Types, Controls, ComCtrls, StdCtrls, ExtCtrls, Buttons, Forms, Menus,
VpConst, VpBase, VpBaseDS, VpMisc, VpData, VpSR;
type
@ -229,6 +229,7 @@ type
{ inherited standard methods }
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
class function GetControlClassDefaultSize: TSize; override;
procedure Loaded; override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X,Y: Integer); override;
@ -644,15 +645,16 @@ begin
SetLength(wvEventArray, MaxVisibleEvents);
SetLength(wvWeekdayArray, 7);
{ size }
Height := 225;
Width := 300;
// Popup menu
FDefaultPopup := TPopupMenu.Create(Self);
FDefaultPopup.Name := 'default';
InitializeDefaultPopup;
Self.PopupMenu := FDefaultPopup;
// Initial size of the control
with GetControlClassDefaultSize do
SetInitialBounds(0, 0, CX, CY);
LoadLanguage;
wvHookUp;
@ -818,6 +820,13 @@ begin
wvPopulate;
end;
{ Defines the initial size of the control. }
class function TVpWeekView.GetControlClassDefaultSize: TSize;
begin
Result.CX := 225;
Result.CY := 300;
end;
function TVpWeekView.GetControlType : TVpItemType;
begin
Result := itWeekView;