jvcllaz: Minor fixes in NavPaneDemo. Make JvNavigationPane underline Ampersand characters.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6963 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2019-05-27 22:18:12 +00:00
parent 19d0902210
commit 56c5a46e01
4 changed files with 169 additions and 30 deletions

View File

@ -1,28 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="10"/> <Version Value="12"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<General> <General>
<Flags> <Flags>
<LRSInOutputDirectory Value="False"/> <LRSInOutputDirectory Value="False"/>
<CompatibilityMode Value="True"/>
</Flags> </Flags>
<MainUnit Value="0"/>
</General> </General>
<BuildModes Count="1"> <BuildModes Count="1">
<Item1 Name="default" Default="True"/> <Item1 Name="default" Default="True"/>
</BuildModes> </BuildModes>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions> </PublishOptions>
<RunParams> <RunParams>
<local> <local>
<FormatVersion Value="1"/> <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local> </local>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default">
<local>
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local>
</Mode0>
</Modes>
</RunParams> </RunParams>
<RequiredPackages Count="2"> <RequiredPackages Count="2">
<Item1> <Item1>
@ -32,12 +36,12 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item2> </Item2>
</RequiredPackages> </RequiredPackages>
<Units Count="7"> <Units Count="12">
<Unit0> <Unit0>
<Filename Value="JvNavPaneDemo.lpr"/> <Filename Value="JvNavPaneDemo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<CursorPos X="36" Y="11"/> <CursorPos X="36" Y="11"/>
<UsageCount Value="22"/> <UsageCount Value="23"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit0> </Unit0>
@ -49,8 +53,9 @@
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<CursorPos X="3" Y="11"/> <TopLine Value="258"/>
<UsageCount Value="22"/> <CursorPos X="22" Y="280"/>
<UsageCount Value="23"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
@ -80,23 +85,159 @@
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="..\..\run\JvPageComps\JvNavigationPane.pas"/> <Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<UnitName Value="JvNavigationPane"/>
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<TopLine Value="31"/> <TopLine Value="3028"/>
<CursorPos X="61" Y="50"/> <CursorPos X="3" Y="2857"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit6> </Unit6>
<Unit7>
<Filename Value="..\..\run\JvCore\jvjclutils.pas"/>
<UnitName Value="JvJCLUtils"/>
<EditorIndex Value="7"/>
<TopLine Value="1062"/>
<CursorPos X="23" Y="1080"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\lcltype.pp"/>
<UnitName Value="LCLType"/>
<EditorIndex Value="6"/>
<TopLine Value="230"/>
<CursorPos X="3" Y="248"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit8>
<Unit9>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\graphics.pp"/>
<UnitName Value="Graphics"/>
<EditorIndex Value="5"/>
<TopLine Value="1125"/>
<CursorPos X="14" Y="1141"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit9>
<Unit10>
<Filename Value="..\..\run\JvCore\jvexcontrols.pas"/>
<UnitName Value="JvExControls"/>
<EditorIndex Value="3"/>
<TopLine Value="237"/>
<CursorPos X="14" Y="254"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit10>
<Unit11>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="4"/>
<TopLine Value="162"/>
<CursorPos X="3" Y="180"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit11>
</Units> </Units>
<JumpHistory Count="2" HistoryIndex="1"> <JumpHistory Count="25" HistoryIndex="24">
<Position1> <Position1>
<Filename Value="JvNavPaneDemoMainForm.pas"/> <Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="122" Column="24" TopLine="107"/> <Caret Line="2415" Column="83" TopLine="2397"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="JvNavPaneDemoMainForm.pas"/> <Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="11" Column="3"/> <Caret Line="2420" Column="31" TopLine="2391"/>
</Position2> </Position2>
<Position3>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="2374" TopLine="2374"/>
</Position3>
<Position4>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
</Position4>
<Position5>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="2415" Column="80" TopLine="2386"/>
</Position5>
<Position6>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3539" Column="26" TopLine="3509"/>
</Position6>
<Position7>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3548" Column="3" TopLine="3515"/>
</Position7>
<Position8>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3540" Column="83" TopLine="3523"/>
</Position8>
<Position9>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3539" Column="60" TopLine="3522"/>
</Position9>
<Position10>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3541" Column="13" TopLine="3522"/>
</Position10>
<Position11>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3546" Column="13" TopLine="3522"/>
</Position11>
<Position12>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3788" Column="51" TopLine="3757"/>
</Position12>
<Position13>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="4414" Column="17" TopLine="4385"/>
</Position13>
<Position14>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="4901" Column="80" TopLine="4901"/>
</Position14>
<Position15>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
</Position15>
<Position16>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="2415" Column="79" TopLine="2386"/>
</Position16>
<Position17>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3541" Column="13" TopLine="3511"/>
</Position17>
<Position18>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3546" Column="13" TopLine="3516"/>
</Position18>
<Position19>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3787" Column="13" TopLine="3757"/>
</Position19>
<Position20>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="4414" Column="17" TopLine="4385"/>
</Position20>
<Position21>
<Filename Value="JvNavPaneDemoMainForm.pas"/>
<Caret Line="252" Column="29" TopLine="252"/>
</Position21>
<Position22>
<Filename Value="JvNavPaneDemoMainForm.pas"/>
<Caret Line="264" Column="15" TopLine="252"/>
</Position22>
<Position23>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="3787" Column="24" TopLine="3769"/>
</Position23>
<Position24>
<Filename Value="JvNavPaneDemoMainForm.pas"/>
<Caret Line="286" Column="29" TopLine="264"/>
</Position24>
<Position25>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="645" Column="28" TopLine="618"/>
</Position25>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -7,10 +7,8 @@ object JvNavPaneDemoMainFrm: TJvNavPaneDemoMainFrm
VertScrollBar.Page = 467 VertScrollBar.Page = 467
Caption = 'JvNavigationPane Demo' Caption = 'JvNavigationPane Demo'
DockSite = True DockSite = True
Font.Height = -11
Font.Name = 'Tahoma'
OnCreate = FormCreate OnCreate = FormCreate
LCLVersion = '1.7' LCLVersion = '2.1.0.0'
object PopupMenu1: TPopupMenu object PopupMenu1: TPopupMenu
OnPopup = PopupMenu1Popup OnPopup = PopupMenu1Popup
left = 92 left = 92

View File

@ -241,7 +241,7 @@ begin
Parent := Page; Parent := Page;
Checked[Items.Add('Alan Chong')] := Random(4) = 1; Checked[Items.Add('Alan Chong')] := Random(4) = 1;
Checked[Items.Add('Andreas Hausladen')] := Random(4) = 1; Checked[Items.Add('Andreas Hausladen')] := Random(4) = 1;
Checked[Items.Add('Andr Snepvangers')] := Random(4) = 1; Checked[Items.Add('André Snepvangers')] := Random(4) = 1;
Checked[Items.Add('Michael Beck')] := Random(4) = 1; Checked[Items.Add('Michael Beck')] := Random(4) = 1;
Checked[Items.Add('Leroy Casterline')] := Random(4) = 1; Checked[Items.Add('Leroy Casterline')] := Random(4) = 1;
Checked[Items.Add('Chris Latta')] := Random(4) = 1; Checked[Items.Add('Chris Latta')] := Random(4) = 1;
@ -279,7 +279,7 @@ begin
Align := alClient; Align := alClient;
Items.Add('Alan Chong'); Items.Add('Alan Chong');
Items.Add('Andreas Hausladen'); Items.Add('Andreas Hausladen');
Items.Add('Andr Snepvangers'); Items.Add('André Snepvangers');
Items.Add('Michael Beck'); Items.Add('Michael Beck');
Items.Add('Leroy Casterline'); Items.Add('Leroy Casterline');
Items.Add('Chris Latta'); Items.Add('Chris Latta');

View File

@ -3520,6 +3520,7 @@ const
var var
R, TempRect: TRect; R, TempRect: TRect;
X, Y, H: Integer; X, Y, H: Integer;
flags: Integer;
function IsValidImage: Boolean; function IsValidImage: Boolean;
begin begin
@ -3536,14 +3537,13 @@ begin
InflateRect(R, -4, 0); InflateRect(R, -4, 0);
SetBkMode(Canvas.Handle, TRANSPARENT); SetBkMode(Canvas.Handle, TRANSPARENT);
TempRect := R; TempRect := R;
DrawText(Canvas, Caption, Length(Caption), TempRect, flags := cAlignment[Alignment] or cWordWrap[WordWrap] or DT_VCENTER or DT_END_ELLIPSIS;
DT_CALCRECT or cAlignment[Alignment] or cWordWrap[WordWrap] or DT_VCENTER or DT_NOPREFIX or DT_END_ELLIPSIS); DrawText(Canvas, Caption, Length(Caption), TempRect, flags or DT_CALCRECT);
if WordWrap then if WordWrap then
OffsetRect(R, 0, (Height - H) div 2); OffsetRect(R, 0, (Height - H) div 2);
if IsValidImage and (Alignment = taCenter) then if IsValidImage and (Alignment = taCenter) then
OffsetRect(R, 0, -Images.Height div 2); OffsetRect(R, 0, -Images.Height div 2);
DrawText(Canvas, Caption, Length(Caption), R, DrawText(Canvas, Caption, Length(Caption), R, flags);
cAlignment[Alignment] or cWordWrap[WordWrap] or DT_VCENTER or DT_NOPREFIX or DT_END_ELLIPSIS);
SetBkMode(Canvas.Handle, OPAQUE); SetBkMode(Canvas.Handle, OPAQUE);
end; end;
if IsValidImage then if IsValidImage then
@ -3785,7 +3785,7 @@ begin
end; end;
SetBkMode(Canvas.Handle, TRANSPARENT); SetBkMode(Canvas.Handle, TRANSPARENT);
DrawText(Canvas, Caption, Length(Caption), R, DrawText(Canvas, Caption, Length(Caption), R,
DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX or DT_EDITCONTROL or cAlignment[Alignment]); DT_SINGLELINE or DT_VCENTER {or DT_NOPREFIX} or DT_EDITCONTROL or cAlignment[Alignment]);
SetBkMode(Canvas.Handle, OPAQUE); SetBkMode(Canvas.Handle, OPAQUE);
end; end;
Canvas.Pen.Color := FrameColor; Canvas.Pen.Color := FrameColor;
@ -4927,7 +4927,7 @@ DrawButton:
SetBkMode(Canvas.Handle, TRANSPARENT); SetBkMode(Canvas.Handle, TRANSPARENT);
InflateRect(R, -2, 0); InflateRect(R, -2, 0);
Dec(R.Right, 3 + 7); Dec(R.Right, 3 + 7);
DrawText(Canvas, Caption, Length(Caption), R, DT_LEFT or DT_VCENTER or DT_NOPREFIX or DT_END_ELLIPSIS); DrawText(Canvas, Caption, Length(Caption), R, DT_LEFT or DT_VCENTER {or DT_NOPREFIX} or DT_END_ELLIPSIS);
Inc(R.Right, 3 + 7); Inc(R.Right, 3 + 7);
InflateRect(R, 2, 0); InflateRect(R, 2, 0);
SetBkMode(Canvas.Handle, OPAQUE); SetBkMode(Canvas.Handle, OPAQUE);