tvplanit: Translate shape editor. Fix pen and brush style combos. Auto-position controls.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4935 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-07-08 10:04:20 +00:00
parent 6df0384a65
commit fb4a5f60f6
17 changed files with 780 additions and 169 deletions

View File

@ -522,21 +522,14 @@ object MainForm: TMainForm
ParentColor = False
end
object CbDrawingStyle: TComboBox
Left = 439
Left = 440
Height = 23
Top = 64
Width = 113
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'flat'
'3d'
'borderless'
)
OnChange = CbDrawingStyleChange
Style = csDropDownList
TabOrder = 5
Text = 'flat'
end
end
end

View File

@ -19,7 +19,6 @@ TMAINFORM.CBALLOWINPLACEEDITING.CAPTION=Allow inplace editing
TMAINFORM.LBLADDRESSBUILDER.CAPTION=Address builder
TMAINFORM.CBADDRESSBUILDER.TEXT=(default)
TMAINFORM.LBLDRAWINGSTYLE.CAPTION=Drawing style:
TMAINFORM.CBDRAWINGSTYLE.TEXT=flat
TMAINFORM.TITLELBL.CAPTION=TitleLbl
TMAINFORM.MENUITEM1.CAPTION=File
TMAINFORM.MNUEDITPRINTFORMATS.CAPTION=Edit print formats...

View File

@ -173,9 +173,9 @@ resourcestring
RSThursday = 'Thursday';
RSFriday = 'Friday';
RSSaturday = 'Saturday';
RSFlat = 'flach';
RSFlat = 'flat';
RS3d = '3D';
RSBorderless = 'ohne Rand';
RSBorderless = 'no border';
{$IFDEF WINDOWS}
{ This function determines the LCID from the language code.
@ -664,6 +664,7 @@ begin
SetDefaultLang(FLang, langdir);
TranslateUnitResourceStrings('vpsr', langdir + 'vpsr.' + FLang + '.po');
end;
VpDayView1.LoadLanguage;
VpWeekView1.LoadLanguage;
VpMonthView1.LoadLanguage;
@ -719,9 +720,10 @@ begin
CbFirstDayOfWeek.Items.Add(RSFriday);
CbFirstDayOfWeek.Items.Add(RSSaturday);
CbDrawingStyle.Items[0] := RSFlat;
CbDrawingStyle.Items[1] := RS3d;
CbDrawingStyle.Items[2] := RSBorderless;
CbDrawingStyle.Items.Clear;
CbDrawingStyle.Items.Add(RSFlat);
CbDrawingStyle.Items.Add(RS3d);
CbDrawingStyle.Items.Add(RSBorderless);
DaysTrackbar.Left := GetLabelWidth(LblVisibleDays) + LblVisibleDays.Left + 8;
LblGranularity.Left := DaysTrackbar.Left + DaysTrackbar.Width + 32;

View File

@ -38,7 +38,7 @@ msgstr "30 Min."
#: demomain.rs3d
msgid "3D"
msgstr ""
msgstr "3D"
#: demomain.rs5min
msgid "5 min"
@ -53,8 +53,8 @@ msgid "6 min"
msgstr "6 Min."
#: demomain.rsborderless
msgid "ohne Rand"
msgstr ""
msgid "no border"
msgstr "ohne Rahmen"
#: demomain.rsconfirmdeleteres
msgid "Do you really want to delete resource %s?"
@ -82,8 +82,8 @@ msgid "Events per week"
msgstr "Termine pro Woche"
#: demomain.rsflat
msgid "flach"
msgstr ""
msgid "flat"
msgstr "flach"
#: demomain.rsfriday
msgid "Friday"
@ -165,6 +165,7 @@ msgctxt "tfrmreportsetup.dateedit1.okcaption"
msgid "OK"
msgstr "OK"
# No need to translate
#: tfrmreportsetup.dateedit1.text
msgid "DateEdit1"
msgstr ""
@ -179,6 +180,7 @@ msgctxt "tfrmreportsetup.dateedit2.okcaption"
msgid "OK"
msgstr "OK"
# No need to translate
#: tfrmreportsetup.dateedit2.text
msgid "DateEdit2"
msgstr ""
@ -219,10 +221,6 @@ msgstr "(Standard)"
msgid "Allow inplace editing"
msgstr "Editieren an Ort und Stelle erlauben"
#: tmainform.cbdrawingstyle.text
msgid "flat"
msgstr "flach"
#: tmainform.cbgranularity.text
msgid "30 Min"
msgstr "30 Min"
@ -321,8 +319,6 @@ msgid "Events"
msgstr "Termine"
#: tmainform.tabresources.caption
#, fuzzy
#| msgid "Maintenance"
msgctxt "tmainform.tabresources.caption"
msgid "Resources"
msgstr "Wartung"
@ -341,4 +337,3 @@ msgstr "Aufgaben"
#: tmainform.titlelbl.caption
msgid "TitleLbl"
msgstr ""

View File

@ -42,7 +42,7 @@ msgid "6 min"
msgstr ""
#: demomain.rsborderless
msgid "ohne Rand"
msgid "no border"
msgstr ""
#: demomain.rsconfirmdeleteres
@ -71,7 +71,7 @@ msgid "Events per week"
msgstr ""
#: demomain.rsflat
msgid "flach"
msgid "flat"
msgstr ""
#: demomain.rsfriday
@ -208,10 +208,6 @@ msgstr ""
msgid "Allow inplace editing"
msgstr ""
#: tmainform.cbdrawingstyle.text
msgid "flat"
msgstr ""
#: tmainform.cbgranularity.text
msgid "30 Min"
msgstr ""

View File

@ -52,7 +52,7 @@ msgid "6 min"
msgstr "6 минут"
#: demomain.rsborderless
msgid "ohne Rand"
msgid "no border"
msgstr ""
#: demomain.rsconfirmdeleteres
@ -81,7 +81,7 @@ msgid "Events per week"
msgstr "События за неделю"
#: demomain.rsflat
msgid "flach"
msgid "flat"
msgstr ""
#: demomain.rsfriday
@ -164,6 +164,7 @@ msgctxt "TFRMREPORTSETUP.DATEEDIT1.OKCAPTION"
msgid "OK"
msgstr ""
# No need to translate
#: tfrmreportsetup.dateedit1.text
msgid "DateEdit1"
msgstr ""
@ -178,6 +179,7 @@ msgctxt "TFRMREPORTSETUP.DATEEDIT2.OKCAPTION"
msgid "OK"
msgstr ""
# No need to translate
#: tfrmreportsetup.dateedit2.text
msgid "DateEdit2"
msgstr ""
@ -218,10 +220,6 @@ msgstr "(по умолчанию)"
msgid "Allow inplace editing"
msgstr "Разрешить редактор по месту"
#: tmainform.cbdrawingstyle.text
msgid "flat"
msgstr "плавающее"
#: tmainform.cbgranularity.text
msgid "30 Min"
msgstr "30 минут"
@ -334,6 +332,7 @@ msgctxt "tmainform.tabtasks.caption"
msgid "Tasks"
msgstr "Задачи"
# No need to translate
#: tmainform.titlelbl.caption
msgid "TitleLbl"
msgstr ""

View File

@ -99,10 +99,22 @@ msgstr "Ungültiges Trigger-Handle"
msgid "Birth date:"
msgstr "Geburtsdatum:"
#: vpsr.rsbltotrline
msgid "bottom-left to top-right line"
msgstr "Linie links unten nach rechts oben"
#: vpsr.rsbottomline
msgid "bottom line"
msgstr "Linie unten"
#: vpsr.rsbrowsererror
msgid "Unable to start web browser. Make sure you have it properly setup on your system."
msgstr "Web-Browser kann nicht gestartet werden. Bitte stellen Sie sicher, dass er in Ihrem System korrekt eingerichtet ist."
#: vpsr.rsbrushcaption
msgid "Brush"
msgstr "Füllung"
#: vpsr.rscalendarelement
msgid "Calendar"
msgstr "Kalender"
@ -227,6 +239,10 @@ msgstr "Stadt:"
msgid "&Close"
msgstr "&Schließen"
#: vpsr.rscolorlbl
msgid "Color:"
msgstr "Farbe:"
#: vpsr.rscompany
msgctxt "vpsr.rscompany"
msgid "Company"
@ -478,6 +494,10 @@ msgstr "Editor für Ordner-Einträge"
msgid "Edit Print Formats..."
msgstr "Druck-Formate bearbeiten..."
#: vpsr.rseditshapecaption
msgid "Edit shape"
msgstr "Form bearbeiten"
#: vpsr.rselements
msgid "Elements:"
msgstr "Elemente:"
@ -486,6 +506,10 @@ msgstr "Elemente:"
msgid "Element type"
msgstr "Element-Typ"
#: vpsr.rsellipse
msgid "ellipse"
msgstr "Ellipse"
#: vpsr.rsemail
msgid "E-Mail"
msgstr "E-Mail"
@ -624,6 +648,10 @@ msgstr "Nachname:"
msgid "Left"
msgstr "Links"
#: vpsr.rsleftline
msgid "left line"
msgstr "Linie links"
#: vpsr.rslfriday
msgctxt "vpsr.rslfriday"
msgid "F"
@ -677,6 +705,10 @@ msgstr "Messung"
msgid "Minutes"
msgstr "Minuten"
#: vpsr.rsmodelbl
msgid "Mode:"
msgstr "Modus:"
#: vpsr.rsmonday
msgid "Monday"
msgstr "Montag"
@ -832,6 +864,10 @@ msgstr "ABGELAUFEN!"
msgid "Owner must be a TWinControl descendent"
msgstr "Owner muss von TWinControl abstammen"
#: vpsr.rspencaption
msgid "Pen"
msgstr "Umriss"
#: vpsr.rspercent
msgid "Percent"
msgstr "Prozent"
@ -989,6 +1025,10 @@ msgstr "Drucken"
msgid "Print controller is not owned by a TVpControlLink!"
msgstr "Print Controll hat nicht TVpControlLink als Owner"
#: vpsr.rsrectangle
msgid "rectangle"
msgstr "Rechteck"
#: vpsr.rsrecurrenceendslbl
msgid "Repeat until:"
msgstr "Wiederholen bis:"
@ -1005,6 +1045,10 @@ msgstr "Erinnerung"
msgid "Resource"
msgstr "Ressource"
#: vpsr.rsrightline
msgid "right line"
msgstr "Linie rechts"
#: vpsr.rsrotationcaption
msgid "Rotation"
msgstr "Drehung"
@ -1029,7 +1073,13 @@ msgstr "Keine Ressource ist auswählt worden. Möchten Sie jetzt eine auswählen
msgid "Shape..."
msgstr "Form..."
#: vpsr.rsshapecaption
msgctxt "vpsr.rsshapecaption"
msgid "Shape"
msgstr "Form"
#: vpsr.rsshapeelement
msgctxt "vpsr.rsshapeelement"
msgid "Shape"
msgstr "Form"
@ -1061,6 +1111,10 @@ msgstr "Start-Zeit:"
msgid "State:"
msgstr "Bundesland:"
#: vpsr.rsstylelbl
msgid "Style:"
msgstr "Stil:"
#: vpsr.rssubjectcaption
msgctxt "vpsr.rssubjectcaption"
msgid "Subject:"
@ -1127,10 +1181,18 @@ msgstr "Titel"
msgid "Title:"
msgstr "Titel:"
#: vpsr.rstltobrline
msgid "top-left to bottom-right line"
msgstr "Linie von links oben nach rechts unten"
#: vpsr.rstop
msgid "Top"
msgstr "Oben"
#: vpsr.rstopline
msgid "top line"
msgstr "Linie oben"
#: vpsr.rstrue
msgctxt "vpsr.rstrue"
msgid "T"
@ -1234,6 +1296,10 @@ msgstr "Wochenansicht"
msgid "Width"
msgstr "Breite"
#: vpsr.rswidthlbl
msgid "Width:"
msgstr "Breite:"
#: vpsr.rsxdays
msgid "%d days"
msgstr "%d Tage"

View File

@ -99,10 +99,22 @@ msgstr "Ongeldige trigger handle"
msgid "Birth date:"
msgstr "Geboortedatum:"
#: vpsr.rsbltotrline
msgid "bottom-left to top-right line"
msgstr ""
#: vpsr.rsbottomline
msgid "bottom line"
msgstr ""
#: vpsr.rsbrowsererror
msgid "Unable to start web browser. Make sure you have it properly setup on your system."
msgstr "Webbrowser kan niet gestart worden. Controleer uw systeeminstellingen."
#: vpsr.rsbrushcaption
msgid "Brush"
msgstr ""
#: vpsr.rscalendarelement
msgid "Calendar"
msgstr ""
@ -227,6 +239,10 @@ msgstr "Plaats:"
msgid "&Close"
msgstr "&Sluiten"
#: vpsr.rscolorlbl
msgid "Color:"
msgstr ""
#: vpsr.rscompany
msgctxt "vpsr.rscompany"
msgid "Company"
@ -481,6 +497,10 @@ msgstr "Map Items Editor."
msgid "Edit Print Formats..."
msgstr "Afdrukformaten bewerken..."
#: vpsr.rseditshapecaption
msgid "Edit shape"
msgstr ""
#: vpsr.rselements
msgid "Elements:"
msgstr ""
@ -489,6 +509,10 @@ msgstr ""
msgid "Element type"
msgstr ""
#: vpsr.rsellipse
msgid "ellipse"
msgstr ""
#: vpsr.rsemail
msgid "E-Mail"
msgstr "E-Mail"
@ -627,6 +651,10 @@ msgstr "Achternaam:"
msgid "Left"
msgstr ""
#: vpsr.rsleftline
msgid "left line"
msgstr ""
#: vpsr.rslfriday
msgctxt "vpsr.rslfriday"
msgid "F"
@ -680,6 +708,10 @@ msgstr ""
msgid "Minutes"
msgstr "Minuten"
#: vpsr.rsmodelbl
msgid "Mode:"
msgstr ""
#: vpsr.rsmonday
msgid "Monday"
msgstr "Maandag"
@ -835,6 +867,10 @@ msgstr "OVER TIJD!"
msgid "Owner must be a TWinControl descendent"
msgstr "Owner moet van TWinControl afstammen"
#: vpsr.rspencaption
msgid "Pen"
msgstr ""
#: vpsr.rspercent
msgid "Percent"
msgstr ""
@ -992,6 +1028,10 @@ msgstr "Afdrukken"
msgid "Print controller is not owned by a TVpControlLink!"
msgstr "Print Controller heeft niet TVpControlLink als Owner"
#: vpsr.rsrectangle
msgid "rectangle"
msgstr ""
#: vpsr.rsrecurrenceendslbl
msgid "Repeat until:"
msgstr "Herhalen totdat:"
@ -1008,6 +1048,10 @@ msgstr "Herinnering"
msgid "Resource"
msgstr "Hulpmiddel"
#: vpsr.rsrightline
msgid "right line"
msgstr ""
#: vpsr.rsrotationcaption
msgid "Rotation"
msgstr ""
@ -1032,7 +1076,13 @@ msgstr "Er is geen hulpmiddel gekozen. Wilt u er nu een kiezen?"
msgid "Shape..."
msgstr ""
#: vpsr.rsshapecaption
msgctxt "vpsr.rsshapecaption"
msgid "Shape"
msgstr ""
#: vpsr.rsshapeelement
msgctxt "vpsr.rsshapeelement"
msgid "Shape"
msgstr ""
@ -1064,6 +1114,10 @@ msgstr "Starttijd:"
msgid "State:"
msgstr "Provincie:"
#: vpsr.rsstylelbl
msgid "Style:"
msgstr ""
#: vpsr.rssubjectcaption
msgctxt "vpsr.rssubjectcaption"
msgid "Subject:"
@ -1130,10 +1184,18 @@ msgstr "Titel"
msgid "Title:"
msgstr "Titel:"
#: vpsr.rstltobrline
msgid "top-left to bottom-right line"
msgstr ""
#: vpsr.rstop
msgid "Top"
msgstr ""
#: vpsr.rstopline
msgid "top line"
msgstr ""
#: vpsr.rstrue
msgctxt "vpsr.rstrue"
msgid "T"
@ -1237,6 +1299,10 @@ msgstr ""
msgid "Width"
msgstr ""
#: vpsr.rswidthlbl
msgid "Width:"
msgstr ""
#: vpsr.rsxdays
msgid "%d days"
msgstr "%d dagen"

View File

@ -89,10 +89,22 @@ msgstr ""
msgid "Birth date:"
msgstr ""
#: vpsr.rsbltotrline
msgid "bottom-left to top-right line"
msgstr ""
#: vpsr.rsbottomline
msgid "bottom line"
msgstr ""
#: vpsr.rsbrowsererror
msgid "Unable to start web browser. Make sure you have it properly setup on your system."
msgstr ""
#: vpsr.rsbrushcaption
msgid "Brush"
msgstr ""
#: vpsr.rscalendarelement
msgid "Calendar"
msgstr ""
@ -217,6 +229,10 @@ msgstr ""
msgid "&Close"
msgstr ""
#: vpsr.rscolorlbl
msgid "Color:"
msgstr ""
#: vpsr.rscompany
msgctxt "vpsr.rscompany"
msgid "Company"
@ -468,6 +484,10 @@ msgstr ""
msgid "Edit Print Formats..."
msgstr ""
#: vpsr.rseditshapecaption
msgid "Edit shape"
msgstr ""
#: vpsr.rselements
msgid "Elements:"
msgstr ""
@ -476,6 +496,10 @@ msgstr ""
msgid "Element type"
msgstr ""
#: vpsr.rsellipse
msgid "ellipse"
msgstr ""
#: vpsr.rsemail
msgid "E-Mail"
msgstr ""
@ -614,6 +638,10 @@ msgstr ""
msgid "Left"
msgstr ""
#: vpsr.rsleftline
msgid "left line"
msgstr ""
#: vpsr.rslfriday
msgctxt "vpsr.rslfriday"
msgid "F"
@ -667,6 +695,10 @@ msgstr ""
msgid "Minutes"
msgstr ""
#: vpsr.rsmodelbl
msgid "Mode:"
msgstr ""
#: vpsr.rsmonday
msgid "Monday"
msgstr ""
@ -822,6 +854,10 @@ msgstr ""
msgid "Owner must be a TWinControl descendent"
msgstr ""
#: vpsr.rspencaption
msgid "Pen"
msgstr ""
#: vpsr.rspercent
msgid "Percent"
msgstr ""
@ -979,6 +1015,10 @@ msgstr ""
msgid "Print controller is not owned by a TVpControlLink!"
msgstr ""
#: vpsr.rsrectangle
msgid "rectangle"
msgstr ""
#: vpsr.rsrecurrenceendslbl
msgid "Repeat until:"
msgstr ""
@ -995,6 +1035,10 @@ msgstr ""
msgid "Resource"
msgstr ""
#: vpsr.rsrightline
msgid "right line"
msgstr ""
#: vpsr.rsrotationcaption
msgid "Rotation"
msgstr ""
@ -1019,7 +1063,13 @@ msgstr ""
msgid "Shape..."
msgstr ""
#: vpsr.rsshapecaption
msgctxt "vpsr.rsshapecaption"
msgid "Shape"
msgstr ""
#: vpsr.rsshapeelement
msgctxt "vpsr.rsshapeelement"
msgid "Shape"
msgstr ""
@ -1051,6 +1101,10 @@ msgstr ""
msgid "State:"
msgstr ""
#: vpsr.rsstylelbl
msgid "Style:"
msgstr ""
#: vpsr.rssubjectcaption
msgctxt "vpsr.rssubjectcaption"
msgid "Subject:"
@ -1117,10 +1171,18 @@ msgstr ""
msgid "Title:"
msgstr ""
#: vpsr.rstltobrline
msgid "top-left to bottom-right line"
msgstr ""
#: vpsr.rstop
msgid "Top"
msgstr ""
#: vpsr.rstopline
msgid "top line"
msgstr ""
#: vpsr.rstrue
msgctxt "vpsr.rstrue"
msgid "T"
@ -1224,6 +1286,10 @@ msgstr ""
msgid "Width"
msgstr ""
#: vpsr.rswidthlbl
msgid "Width:"
msgstr ""
#: vpsr.rsxdays
msgid "%d days"
msgstr ""

View File

@ -99,10 +99,22 @@ msgstr ""
msgid "Birth date:"
msgstr "Дата рождения:"
#: vpsr.rsbltotrline
msgid "bottom-left to top-right line"
msgstr ""
#: vpsr.rsbottomline
msgid "bottom line"
msgstr ""
#: vpsr.rsbrowsererror
msgid "Unable to start web browser. Make sure you have it properly setup on your system."
msgstr "Ошибка запуска браузер. Убедитесь в правильности настроек вашей системы."
#: vpsr.rsbrushcaption
msgid "Brush"
msgstr ""
#: vpsr.rscalendarelement
msgid "Calendar"
msgstr "Календарь"
@ -227,6 +239,10 @@ msgstr "Город:"
msgid "&Close"
msgstr "Закрыть"
#: vpsr.rscolorlbl
msgid "Color:"
msgstr ""
#: vpsr.rscompany
msgctxt "vpsr.rscompany"
msgid "Company"
@ -478,6 +494,10 @@ msgstr "Редактор элемента папки."
msgid "Edit Print Formats..."
msgstr "Редактор формата печати..."
#: vpsr.rseditshapecaption
msgid "Edit shape"
msgstr ""
#: vpsr.rselements
msgid "Elements:"
msgstr "Элементы:"
@ -486,6 +506,10 @@ msgstr "Элементы:"
msgid "Element type"
msgstr "Тип элемента"
#: vpsr.rsellipse
msgid "ellipse"
msgstr ""
#: vpsr.rsemail
msgid "E-Mail"
msgstr "Электронная почта"
@ -624,6 +648,10 @@ msgstr "Фамилия:"
msgid "Left"
msgstr "Лево"
#: vpsr.rsleftline
msgid "left line"
msgstr ""
#: vpsr.rslfriday
msgctxt "vpsr.rslfriday"
msgid "F"
@ -677,6 +705,10 @@ msgstr "Измерение"
msgid "Minutes"
msgstr "Минуты"
#: vpsr.rsmodelbl
msgid "Mode:"
msgstr ""
#: vpsr.rsmonday
msgid "Monday"
msgstr "Понедельник"
@ -832,6 +864,10 @@ msgstr "ПРОСРОЧЕНО!"
msgid "Owner must be a TWinControl descendent"
msgstr ""
#: vpsr.rspencaption
msgid "Pen"
msgstr ""
#: vpsr.rspercent
msgid "Percent"
msgstr "Процент"
@ -989,6 +1025,10 @@ msgstr "Печать"
msgid "Print controller is not owned by a TVpControlLink!"
msgstr ""
#: vpsr.rsrectangle
msgid "rectangle"
msgstr ""
#: vpsr.rsrecurrenceendslbl
msgid "Repeat until:"
msgstr "Повторять до:"
@ -1005,6 +1045,10 @@ msgstr "Напоминание"
msgid "Resource"
msgstr "Ресурс"
#: vpsr.rsrightline
msgid "right line"
msgstr ""
#: vpsr.rsrotationcaption
msgid "Rotation"
msgstr "Поворт"
@ -1029,7 +1073,13 @@ msgstr ""
msgid "Shape..."
msgstr ""
#: vpsr.rsshapecaption
msgctxt "vpsr.rsshapecaption"
msgid "Shape"
msgstr ""
#: vpsr.rsshapeelement
msgctxt "vpsr.rsshapeelement"
msgid "Shape"
msgstr ""
@ -1063,6 +1113,10 @@ msgstr "Время начала:"
msgid "State:"
msgstr "Статус:"
#: vpsr.rsstylelbl
msgid "Style:"
msgstr ""
#: vpsr.rssubjectcaption
msgctxt "vpsr.rssubjectcaption"
msgid "Subject:"
@ -1129,10 +1183,18 @@ msgstr "Заголовок"
msgid "Title:"
msgstr "Заголовок:"
#: vpsr.rstltobrline
msgid "top-left to bottom-right line"
msgstr ""
#: vpsr.rstop
msgid "Top"
msgstr ""
#: vpsr.rstopline
msgid "top line"
msgstr ""
#: vpsr.rstrue
msgctxt "vpsr.rstrue"
msgid "T"
@ -1236,6 +1298,10 @@ msgstr ""
msgid "Width"
msgstr ""
#: vpsr.rswidthlbl
msgid "Width:"
msgstr ""
#: vpsr.rsxdays
msgid "%d days"
msgstr "%d дней"
@ -1557,3 +1623,4 @@ msgstr ""
#: vpsr.sxmldecnotatbeg
msgid "The XML declaration must appear before the first element"
msgstr ""

View File

@ -332,17 +332,20 @@ Contributor(s): "/>
<OutDir Value="../languages"/>
<EnableI18NForLFM Value="True"/>
</i18n>
<RequiredPkgs Count="3">
<RequiredPkgs Count="4">
<Item1>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
<PackageName Value="LazColorPalette"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
<PackageName Value="FCL"/>
<MinVersion Major="1" Valid="True"/>
</Item2>
<Item3>
<PackageName Value="IDEIntf"/>
<PackageName Value="LCL"/>
</Item3>
<Item4>
<PackageName Value="IDEIntf"/>
</Item4>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)"/>

View File

@ -379,6 +379,7 @@ begin
edCaptionText.Left := lblCaptionText.Left + GetLabelWidth(lblCaptionTExt) + DELTA;
cnv.Font.Assign(btnCaptionFont.Font);
w := cnv.TextWidth(btnCaptionFont.Caption) + BUTTON_CORRECTION;
btnCaptionFont.Width := w;
btnCaptionFont.Left := gbCaption.ClientWidth - DELTA - w;
edCaptionText.Width := btnCaptionFont.Left - DELTA - edCaptionText.Left;
@ -389,6 +390,7 @@ begin
btnCancel.Width := btnOK.Width;
btnCancel.Left := RightOf(gbCaption) - btnCancel.Width;
btnOK.Left := btnCancel.Left - DELTA - btnOK.Width;
btnShape.Width := cnv.TextWidth(btnShape.Caption) + BUTTON_CORRECTION;
finally
cnv.Free;

View File

@ -110,9 +110,9 @@ object frmPrnFormat: TfrmPrnFormat
Top = 0
Width = 320
CurPage = 0
DrawingStyle = dsFlat
EndDate = 37377.6447728357
StartDate = 37370.6447728357
ZoomFactor = zfActualSize
Align = alClient
Parent = PrintPreviewPanel
TabStop = True

View File

@ -575,6 +575,9 @@ var
Prn: TVpPrinter;
i, Idx: Integer;
begin
if LbFormats.ItemIndex = -1 then
exit;
lbElements.Items.Clear;
Prn := ControlLink.Printer;
Idx := Prn.Find(lbFormats.Items[lbFormats.ItemIndex]);

View File

@ -1,143 +1,139 @@
object frmEditShape: TfrmEditShape
Left = 455
Height = 314
Top = 209
Left = 772
Height = 243
Top = 248
Width = 363
HorzScrollBar.Page = 362
VertScrollBar.Page = 313
BorderStyle = bsDialog
Caption = 'Edit Shape'
ClientHeight = 314
ClientHeight = 243
ClientWidth = 363
OnCreate = FormCreate
OnDestroy = FormDestroy
Position = poScreenCenter
ShowHint = True
LCLVersion = '1.7'
object rgShapeType: TRadioGroup
Left = 8
Height = 88
Top = 8
Width = 345
AutoFill = True
Caption = ' Shape '
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3
ClientHeight = 68
ClientWidth = 341
Columns = 3
ItemIndex = 0
Items.Strings = (
'Rectangle'
'TopLine'
'BottomLine'
'LeftLine'
'RightLine'
'TLToBRLine'
'BLToTRLine'
'Ellipse'
)
TabOrder = 0
end
object btnOk: TButton
Left = 192
Height = 25
Top = 280
Top = 203
Width = 75
Caption = 'OK'
Default = True
OnClick = btnOkClick
TabOrder = 3
TabOrder = 2
end
object btnCancel: TButton
Left = 272
Height = 25
Top = 280
Top = 203
Width = 75
Cancel = True
Caption = 'Cancel'
OnClick = btnCancelClick
TabOrder = 4
TabOrder = 3
end
object gbBrush: TGroupBox
Left = 188
Height = 158
Top = 100
Left = 186
Height = 86
Top = 88
Width = 165
Caption = ' Brush '
ClientHeight = 138
ClientHeight = 66
ClientWidth = 161
TabOrder = 2
object Label1: TLabel
Left = 6
TabOrder = 1
object lblBrushStyle: TLabel
Left = 8
Height = 15
Top = 111
Top = 35
Width = 28
Caption = 'Style:'
FocusControl = cbBrushStyle
ParentColor = False
end
object cbBrushStyle: TComboBox
Left = 48
Left = 52
Height = 22
Top = 108
Width = 99
Top = 32
Width = 97
ItemHeight = 16
OnChange = cbBrushStyleChange
OnDrawItem = cbBrushStyleDrawItem
Style = csOwnerDrawFixed
TabOrder = 0
end
object lblBrushColor: TLabel
Left = 8
Height = 15
Top = 5
Width = 32
Caption = 'Color:'
FocusControl = cbBrushColor
ParentColor = False
end
object cbBrushColor: TColorBox
Left = 52
Height = 22
Top = 1
Width = 97
Style = [cbStandardColors, cbExtendedColors, cbPrettyNames, cbCustomColors]
ItemHeight = 16
OnChange = cbBrushColorChange
TabOrder = 1
end
end
object gbPen: TGroupBox
Left = 8
Height = 205
Top = 100
Height = 140
Top = 88
Width = 165
Caption = ' Pen '
ClientHeight = 187
ClientHeight = 120
ClientWidth = 161
TabOrder = 1
object Label2: TLabel
TabOrder = 0
object lblPenStyle: TLabel
Left = 8
Height = 15
Top = 103
Top = 35
Width = 28
Caption = 'Style:'
FocusControl = cbPenStyle
ParentColor = False
end
object Label3: TLabel
object lblPenWidth: TLabel
Left = 8
Height = 15
Top = 132
Top = 64
Width = 35
Caption = 'Width:'
FocusControl = edPenWidth
ParentColor = False
end
object Label4: TLabel
object lblPenMode: TLabel
Left = 8
Height = 15
Top = 160
Top = 92
Width = 34
Caption = 'Mode:'
FocusControl = cbPenMode
ParentColor = False
end
object cbPenStyle: TComboBox
Left = 52
Height = 22
Top = 100
Top = 32
Width = 97
ItemHeight = 16
OnChange = cbPenStyleChange
OnDrawItem = cbPenStyleDrawItem
Style = csOwnerDrawFixed
TabOrder = 0
end
object cbPenMode: TComboBox
Left = 52
Height = 21
Top = 156
Height = 23
Top = 88
Width = 97
ItemHeight = 15
TabOrder = 1
@ -145,7 +141,7 @@ object frmEditShape: TfrmEditShape
object udPenWidth: TUpDown
Left = 98
Height = 23
Top = 128
Top = 60
Width = 11
Associate = edPenWidth
Min = 0
@ -156,10 +152,97 @@ object frmEditShape: TfrmEditShape
object edPenWidth: TEdit
Left = 52
Height = 23
Top = 128
Top = 60
Width = 46
OnChange = edPenWidthChange
TabOrder = 2
Text = '0'
end
object cbPenColor: TColorBox
Left = 52
Height = 22
Top = 1
Width = 97
Style = [cbStandardColors, cbExtendedColors, cbPrettyNames, cbCustomColors]
ItemHeight = 16
OnChange = cbPenColorChange
TabOrder = 4
end
object lblPenColor: TLabel
Left = 8
Height = 15
Top = 5
Width = 29
Caption = 'Color'
FocusControl = cbPenColor
ParentColor = False
end
end
object gbShapes: TGroupBox
Left = 8
Height = 67
Top = 8
Width = 324
Caption = 'gbShapes'
ClientHeight = 47
ClientWidth = 320
TabOrder = 4
object SpeedButton1: TSpeedButton
Left = 12
Height = 32
Top = 7
Width = 32
Down = True
GroupIndex = 1
end
object SpeedButton2: TSpeedButton
Left = 49
Height = 32
Top = 7
Width = 32
GroupIndex = 1
end
object SpeedButton3: TSpeedButton
Left = 86
Height = 32
Top = 7
Width = 32
GroupIndex = 1
end
object SpeedButton4: TSpeedButton
Left = 123
Height = 32
Top = 7
Width = 32
GroupIndex = 1
end
object SpeedButton5: TSpeedButton
Left = 160
Height = 32
Top = 7
Width = 32
GroupIndex = 1
end
object SpeedButton6: TSpeedButton
Left = 197
Height = 32
Top = 7
Width = 32
GroupIndex = 1
end
object SpeedButton7: TSpeedButton
Left = 234
Height = 32
Top = 7
Width = 32
GroupIndex = 1
end
object SpeedButton8: TSpeedButton
Left = 271
Height = 32
Top = 7
Width = 32
GroupIndex = 1
end
end
end

View File

@ -34,49 +34,78 @@ interface
uses
{$IFDEF LCL}
LCLProc, LCLType, LCLIntf,
LCLProc, LCLType, LCLIntf, ColorBox,
{$ELSE}
Windows, Messages, ColorGrd,
{$ENDIF}
SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, TypInfo, ComCtrls,
StdCtrls, ExtCtrls, TypInfo, ComCtrls, Buttons,
VpPrtFmt;
type
{ TfrmEditShape }
TfrmEditShape = class(TForm)
btnCancel: TButton;
btnOk: TButton;
cbBrushStyle: TComboBox;
cbBrushColor: TColorBox;
cbPenMode: TComboBox;
cbPenStyle: TComboBox;
cbPenColor: TColorBox;
gbBrush: TGroupBox;
gbPen: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
rgShapeType: TRadioGroup;
gbShapes: TGroupBox;
lblBrushStyle: TLabel;
lblBrushColor: TLabel;
lblPenStyle: TLabel;
lblPenColor: TLabel;
lblPenWidth: TLabel;
lblPenMode: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
udPenWidth: TUpDown;
edPenWidth: TEdit;
procedure btnOkClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure cbBrushColorChange(Sender: TObject);
procedure cbBrushStyleChange(Sender: TObject);
procedure cbBrushStyleDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure FormCreate(Sender: TObject);
procedure cbPenColorChange(Sender: TObject);
procedure cbPenStyleChange(Sender: TObject);
procedure cbPenStyleDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure edPenWidthChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FShapeButtons: array[TVpShapeType] of TSpeedButton;
FShapeBitmaps: array[TVpShapeType] of TBitmap;
procedure FillBrushStyleList;
procedure FillPenStyleList;
procedure FillPenModeList;
procedure PositionControls;
procedure SetCaptions;
protected
procedure CreateBitmaps;
procedure DestroyBitmaps;
procedure SaveData(AShape: TVpPrintShape);
procedure SetData(AShape: TVpPrintShape);
procedure UpdateBitmap(AShape: TVpShapeType);
procedure UpdateBitmaps;
{ Private declarations }
public
function Execute(AShape : TVpPrintShape) : Boolean;
{ Public declarations }
end;
@ -88,13 +117,122 @@ implementation
{$R *.dfm}
{$ENDIF}
uses
Math, VpMisc, VpSr;
{ TfrmEditShape }
procedure TfrmEditShape.CreateBitmaps;
var
shape: TVpShapeType;
w, h: Integer;
begin
w := SpeedButton1.Width - 8;
h := SpeedButton1.Height - 8;
for shape := Low(TVpShapeType) to High(TVpShapeType) do begin
FShapeBitmaps[shape] := TBitmap.Create;
with FShapeBitmaps[shape] do begin
PixelFormat := pf24Bit;
SetSize(w, h);
Transparent := true;
end;
FShapeButtons[shape].Glyph.Assign(FShapeBitmaps[shape]);
case shape of
ustRectangle : FShapeButtons[shape].Hint := RSRectangle;
ustTopLine : FShapeButtons[shape].Hint := RSTopLine;
ustBottomLine : FShapeButtons[shape].Hint := RSBottomLine;
ustLeftLine : FShapeButtons[shape].Hint := RSLeftLine;
ustRightLine : FShapeButtons[shape].Hint := RSRightLine;
ustTLToBRLine : FShapeButtons[shape].Hint := RSTLToBRLine;
ustBLToTRLine : FShapeButtons[shape].Hint := RSBLToTRLine;
ustEllipse : FShapeButtons[shape].Hint := RSEllipse;
end;
end;
end;
procedure TfrmEditShape.DestroyBitmaps;
var
shape: TVpShapeType;
begin
for shape := Low(TVpShapeType) to High(TVpShapeType) do
FShapeBitmaps[shape].Free;
end;
procedure TfrmEditShape.edPenWidthChange(Sender: TObject);
begin
UpdateBitmaps;
end;
procedure TfrmEditShape.UpdateBitmap(AShape: TVpShapeType);
var
pw: Integer;
bkcol, pcol, bcol: TColor;
begin
pw := StrToInt(edPenWidth.Text);
pcol := cbPenColor.Selected;
bcol := cbBrushColor.Selected;
bkcol := clWhite;
while (bkcol = pcol) or (bkcol = bcol) do
bkcol := rgb(random(256), random(256), random(256));
with FShapeBitmaps[AShape] do begin
TransparentColor := bkcol;
Canvas.Brush.Color := bkCol;
Canvas.Brush.Style := bsSolid;
Canvas.FillRect(0, 0, Width, Height);
Canvas.Pen.Width := pw;
Canvas.Pen.Style := TPenStyle(cbPenStyle.ItemIndex);
Canvas.Pen.Color := pcol;
Canvas.Brush.Style := TBrushStyle(cbBrushStyle.ItemIndex);
Canvas.Brush.Color := bcol;
case AShape of
ustRectangle : Canvas.Rectangle(pw, pw, Width-pw, Height-pw);
ustTopLine : Canvas.Line(pw, pw, Width-pw, pw);
ustBottomLine : Canvas.Line(pw, Height-pw, Width, Height-pw);
ustLeftLine : Canvas.Line(pw, pw, pw, Height-pw);
ustRightLine : Canvas.Line(Width-pw, pw, Width-pw, Height);
ustTLToBRLine : Canvas.Line(pw, pw, Width-pw, Height-pw);
ustBLToTRLine : Canvas.Line(pw, Height-pw, Width-pw, pw);
ustEllipse : Canvas.Ellipse(pw, pw, Width-pw, Height-pw);
end;
end;
FShapeButtons[AShape].Glyph.Assign(FShapeBitmaps[AShape]);
end;
procedure TfrmEditShape.UpdateBitmaps;
var
shape: TVpShapeType;
begin
for shape := Low(TVpShapeType) to High(TVpShapeType) do
UpdateBitmap(shape);
end;
procedure TfrmEditShape.FormCreate(Sender: TObject);
begin
FShapeButtons[ustRectangle] := SpeedButton1;
FShapeButtons[ustTopLine] := SpeedButton2;
FShapeButtons[ustBottomLine] := SpeedButton3;
FShapeButtons[ustLeftLine] := SpeedButton4;
FShapeButtons[ustRightLine] := SpeedButton5;
FShapeButtons[ustTLToBRLine] := SpeedButton6;
FShapeButtons[ustBLToTRLine] := SpeedButton7;
FShapeButtons[ustEllipse] := SpeedButton8;
FillBrushStyleList;
FillPenStyleList;
FillPenModeList;
CreateBitmaps;
UpdateBitmaps;
SetCaptions;
end;
procedure TfrmEditShape.FormDestroy(Sender: TObject);
begin
DestroyBitmaps;
end;
{=====}
function TfrmEditShape.Execute(AShape: TVpPrintShape): Boolean;
begin
@ -108,6 +246,17 @@ procedure TfrmEditShape.btnOkClick(Sender: TObject);
begin
ModalResult := mrOk;
end;
procedure TfrmEditShape.cbBrushColorChange(Sender: TObject);
begin
UpdateBitmaps;
end;
procedure TfrmEditShape.cbBrushStyleChange(Sender: TObject);
begin
UpdateBitmaps;
end;
{=====}
procedure TfrmEditShape.btnCancelClick(Sender: TObject);
begin
@ -116,8 +265,8 @@ end;
{=====}
procedure TfrmEditShape.FillBrushStyleList;
var
Style : TBrushStyle;
StyleName : string;
Style: TBrushStyle;
StyleName: string;
begin
for Style := Low(TBrushStyle) to High(TBrushStyle) do begin
StyleName := GetEnumName(TypeInfo(TBrushStyle), Ord(Style));
@ -127,8 +276,8 @@ end;
{=====}
procedure TfrmEditShape.FillPenModeList;
var
Mode : TPenMode;
ModeName : string;
Mode: TPenMode;
ModeName: string;
begin
for Mode := Low(TPenMode) to High(TPenMode) do begin
ModeName := GetEnumName(TypeInfo(TPenMode), Ord(Mode));
@ -138,8 +287,8 @@ end;
{=====}
procedure TfrmEditShape.FillPenStyleList;
var
Style : TPenStyle;
StyleName : string;
Style: TPenStyle;
StyleName: string;
begin
for Style := Low(TPenStyle) to High(TPenStyle) do begin
StyleName := GetEnumName(TypeInfo(TPenStyle), Ord(Style));
@ -147,31 +296,119 @@ begin
end;
end;
{=====}
procedure TfrmEditShape.SaveData(AShape: TVpPrintShape);
procedure TfrmEditShape.PositionControls;
const
DELTA = 8;
var
w: Integer;
cnv: TControlCanvas;
d: Integer;
shape: TVpShapeType;
begin
AShape.Shape := TVpShapeType(rgShapeType.ItemIndex);
w := MaxValue([GetLabelWidth(lblPenColor), GetLabelWidth(lblPenStyle),
GetLabelWidth(lblPenWidth), GetLabelWidth(lblPenMode)]) + 2 * DELTA;
cbPenColor.Left := w;
cbPenStyle.Left := w;
edPenWidth.Left := w;
cbPenMode.Left := w;
lblPenColor.Left := cbPenColor.Left - GetLabelWidth(lblPenColor) - DELTA;
lblPenStyle.Left := cbPenColor.Left - GetLabelWidth(lblPenStyle) - DELTA;
lblPenWidth.Left := cbPenColor.Left - GetLabelWidth(lblPenWidth) - DELTA;
lblPenMode.Left := cbPenColor.Left - GetLabelWidth(lblPenMode) - DELTA;
gbPen.Width := RightOf(cbPenColor) + DELTA;
w := MaxValue([GetLabelWidth(lblBrushColor), GetLabelWidth(lblBrushStyle)]) + 2*DELTA;
cbBrushColor.Left := w;
cbBrushStyle.Left := w;
lblBrushColor.Left := cbBrushColor.Left - GetLabelWidth(lblBrushColor) - DELTA;
lblBrushStyle.Left := cbBrushColor.Left - GetLabelWidth(lblBrushStyle) - DELTA;
gbBrush.Left := RightOf(gbPen) + 16;
gbBrush.Width := RightOf(cbBrushColor) + DELTA;
cnv := TControlCanvas.Create;
try
cnv.Control := btnOK;
cnv.Font.Assign(btnOK.Font);
btnOK.Width := MaxValue([cnv.TextWidth(btnOK.Caption), cnv.TextWidth(btnCancel.Caption)]) + 16;
finally
cnv.Free;
end;
btnCancel.Width := btnOK.Width;
if btnOK.Width + DELTA + btnCancel.Width > gbBrush.Width then
gbBrush.Width := btnOK.Width + DELTA + btnCancel.Width;
btnCancel.Left := RightOf(gbBrush) - btnCancel.Width;
btnOK.Left := btnCancel.Left - DELTA - btnOK.Width;
ClientWidth := RightOf(gbBrush) + gbPen.Left;
gbShapes.Width := ClientWidth - gbShapes.Left * 2;
w := (gbShapes.ClientWidth - 11 * DELTA) div 8;
for shape := Low(TVpShapeType) to High(TVpShapeType) do begin
if shape = Low(TVpShapeType) then
FShapeButtons[shape].Left := DELTA * 2 else
FShapeButtons[shape].Left := RightOf(FShapeButtons[pred(shape)]) + DELTA;
FShapeButtons[shape].Width := w;
end;
end;
procedure TfrmEditShape.SaveData(AShape: TVpPrintShape);
var
shape: TVpShapeType;
begin
for shape := Low(TVpShapeType) to High(TVpShapeType) do
if FShapeButtons[shape].Down then begin
AShape.Shape := shape;
break;
end;
AShape.Pen.Width := udPenWidth.Position;
end;
{=====}
procedure TfrmEditShape.SetCaptions;
begin
Caption := RSEditShapeCaption;
gbShapes.Caption := RsShapeCaption;
gbPen.Caption := RSPenCaption;
lblPenColor.Caption := RSColorLbl;
lblPenStyle.Caption := RSStyleLbl;
lblPenWidth.Caption := RSWidthLbl;
lblPenMode.Caption := RSModeLbl;
gbBrush.Caption := RSBrushCaption;
lblBrushColor.Caption := RSColorLbl;
lblBrushStyle.Caption := RSStyleLbl;
btnOK.Caption := RSOKBtn;
btnCancel.Caption := RSCancelBtn;
PositionControls;
end;
procedure TfrmEditShape.SetData(AShape: TVpPrintShape);
var
StyleStr : string;
begin
rgShapeType.ItemIndex := Ord(AShape.Shape);
FShapeButtons[AShape.Shape].Down := true;
{ pen settings }
cbPenColor.Selected := AShape.Pen.Color;
udPenWidth.Position := AShape.Pen.Width;
cbPenStyle.ItemIndex := ord(AShape.Pen.Style);
cbPenMode.ItemIndex := ord(AShape.Pen.Mode);
{
// cgPenColor.ForegroundIndex := cgPenColor.ColorToIndex(AShape.Pen.Color);
StyleStr := GetEnumName(TypeInfo(TPenStyle), Ord(AShape.Pen.Style));
cbPenStyle.ItemIndex := cbPenStyle.Items.IndexOf(StyleStr);
StyleStr := GetEnumName(TypeInfo(TPenMode), Ord(AShape.Pen.Mode));
cbPenMode.ItemIndex := cbPenMode.Items.IndexOf(StyleStr);
}
{ brush settings }
// cgBrushColor.ForegroundIndex := cgBrushColor.ColorToIndex(AShape.Brush.Color);
cbBrushColor.Selected := AShape.Brush.Color;
cbBrushStyle.ItemIndex := ord(AShape.Brush.Style);
{
StyleStr := GetEnumName(TypeInfo(TBrushStyle), Ord(AShape.Brush.Style));
cbBrushStyle.ItemIndex := cbBrushStyle.Items.IndexOf(StyleStr);
}
end;
{=====}
@ -179,13 +416,15 @@ procedure TfrmEditShape.cbBrushStyleDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
SavePenColor, SaveBrushColor: TColor;
Rgt: Integer;
x: Integer;
SaveBrushStyle: TBrushStyle;
Item : string;
TxtRect : TRect;
R: TRect;
bs: TBrushStyle;
begin
Item := cbBrushStyle.Items[Index];
Rgt := (Rect.Bottom - Rect.Top) + Rect.Left;
x := Rect.Left + HeightOf(Rect);
with cbBrushStyle.Canvas do
try
{ keep old settings }
@ -193,85 +432,100 @@ begin
SaveBrushColor := Brush.Color;
SaveBrushStyle := Brush.Style;
R := Rect;
InflateRect(R, -1, -1);
R.Right := x;
bs := TBrushStyle(GetEnumValue(TypeInfo(TBrushStyle), Item));
{ draw background }
FillRect(Rect); // Brush is already set
{ draw frame }
Pen.Color := Brush.Color;
Brush.Color := cbBrushStyle.Brush.Color;
Rectangle(Rect.Left, Rect.Top, Rgt, Rect.Bottom);
if bs <> bsClear then begin
Brush.Color := clWindow;
Rectangle(R);
end;
{ set up for drawing sample }
Brush.Style := TBrushStyle(GetEnumValue(TypeInfo(TBrushStyle), Item));
Pen.Color := cbBrushStyle.Font.Color;
if bs <> bsClear then begin
{ set up for drawing sample }
Brush.Style := bs;
Brush.Color := clWindowText; //cbBrushStyle.Font.Color;
Pen.Color := clWindowText; //txtColor; //cbBrushStyle.Font.Color;
{ special handling for bsClear }
if Brush.Style = bsClear then
begin
Brush.Color := cbBrushStyle.Brush.Color;
Brush.Style := bsSolid;
end
else
Brush.Color := cbBrushStyle.Font.Color;
{ Draw sample }
Rectangle(R);
end;
{ Draw sample }
Rectangle(Rect.Left + 1, Rect.Top + 1, Rgt - 1, Rect.Bottom - 1);
{ draw the item text }
TxtRect := Classes.Rect(x, Rect.Top, Rect.Right, Rect.Bottom);
TextRect(TxtRect, TxtRect.Left + 1, TxtRect.Top + 1, Item); // Font color already set
finally
{ restore settings }
Brush.Color := SaveBrushColor;
Brush.Style := SaveBrushStyle;
Pen.Color := SavePenColor;
finally
{ draw the item text }
TxtRect := Classes.Rect(Rgt, Rect.Top, Rect.Right, Rect.Bottom);
TextRect(TxtRect, TxtRect.Left + 1, TxtRect.Top + 1, Item);
end;
end;
procedure TfrmEditShape.cbPenColorChange(Sender: TObject);
begin
UpdateBitmaps;
end;
procedure TfrmEditShape.cbPenStyleChange(Sender: TObject);
begin
UpdateBitmaps;
end;
{=====}
procedure TfrmEditShape.cbPenStyleDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
SavePenColor, SaveBrushColor: TColor;
Rgt, Top: Integer;
SavePenStyle: TPenStyle;
Item: string;
TxtRect : TRect;
x, y: Integer;
begin
Item := cbPenStyle.Items[Index];
Rgt := (Rect.Bottom - Rect.Top) * 2 + Rect.Left;
Top := (Rect.Bottom - Rect.Top) div 2 + Rect.Top;
x := Rect.Left + HeightOf(Rect) * 2;
y := Rect.Top + HeightOf(Rect) div 2;
with cbPenStyle.Canvas do
try
{ keep old settings }
{ Keep old settings }
SavePenColor := Pen.Color;
SaveBrushColor := Brush.Color;
SavePenStyle := Pen.Style;
{ draw frame }
Pen.Color := Brush.Color;
Rectangle(Rect.Left, Rect.Top, Rgt, Rect.Bottom);
{ Draw background }
FillRect(Rect); // Brush already set by caller
{ set up for drawing sample }
{ Set up for drawing sample }
Brush.Color := cbPenStyle.Brush.Color;
Pen.Color := cbPenStyle.Font.Color;
Rectangle(Rect.Left + 1, Rect.Top + 1, Rgt - 1, Rect.Bottom - 1);
Rectangle(Rect.Left + 1, Rect.Top + 1, x - 1, Rect.Bottom - 1);
{ Draw sample }
Pen.Style := TPenStyle(GetEnumValue(TypeInfo(TPenStyle), Item));
Pen.Color := cbPenStyle.Font.Color;
{ Sample Line }
MoveTo(Rect.Left + 1, Top);
LineTo(Rgt - 1, Top);
MoveTo(Rect.Left + 1, Top + 1);
LineTo(Rgt - 1, Top + 1);
MoveTo(Rect.Left + 1, y);
LineTo(x - 1, y);
MoveTo(Rect.Left + 1, y + 1);
LineTo(x - 1, y + 1);
{ Draw the item text }
TxtRect := Classes.Rect(x, Rect.Top, Rect.Right, Rect.Bottom);
TextRect(TxtRect, TxtRect.Left + 1, TxtRect.Top + 1, Item); // Color already set
finally
{ restore settings }
Brush.Color := SaveBrushColor;
Pen.Style := SavePenStyle;
Pen.Color := SavePenColor;
finally
{ draw the item text }
TxtRect := Classes.Rect(Rgt, Rect.Top, Rect.Right, Rect.Bottom);
TextRect(TxtRect, TxtRect.Left + 1, TxtRect.Top + 1, Item);
end;
end;
{=====}

View File

@ -452,6 +452,23 @@ resourcestring
RSShapeBtn = 'Shape...';
RSFontBtn = 'Font...';
{ Shape editor }
RSEditShapeCaption = 'Edit shape';
RSShapeCaption = 'Shape';
RSRectangle = 'rectangle';
RSTopLine = 'top line';
RSBottomLine = 'bottom line';
RSLeftLine = 'left line';
RSRightLine = 'right line';
RSTLToBRLine = 'top-left to bottom-right line';
RSBLToTRLine = 'bottom-left to top-right line';
RSEllipse = 'ellipse';
RSPenCaption = 'Pen';
RSBrushCaption = 'Brush';
RSStyleLbl = 'Style:';
RSWidthLbl = 'Width:';
RSModeLbl = 'Mode:';
RSColorLbl = 'Color:';
{ Automatic resource adding/selection} {!!.01}
RSAddNewResource = 'No resources have been defined. Would you ' + {!!.01}