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"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
<LRSInOutputDirectory Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<MainUnit Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="default" Default="True"/>
</BuildModes>
<PublishOptions>
<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>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</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>
<RequiredPackages Count="2">
<Item1>
@ -32,12 +36,12 @@
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="7">
<Units Count="12">
<Unit0>
<Filename Value="JvNavPaneDemo.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="36" Y="11"/>
<UsageCount Value="22"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit0>
@ -49,8 +53,9 @@
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<CursorPos X="3" Y="11"/>
<UsageCount Value="22"/>
<TopLine Value="258"/>
<CursorPos X="22" Y="280"/>
<UsageCount Value="23"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@ -80,23 +85,159 @@
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<Filename Value="..\..\run\JvPageComps\JvNavigationPane.pas"/>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<UnitName Value="JvNavigationPane"/>
<EditorIndex Value="2"/>
<TopLine Value="31"/>
<CursorPos X="61" Y="50"/>
<TopLine Value="3028"/>
<CursorPos X="3" Y="2857"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</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>
<JumpHistory Count="2" HistoryIndex="1">
<JumpHistory Count="25" HistoryIndex="24">
<Position1>
<Filename Value="JvNavPaneDemoMainForm.pas"/>
<Caret Line="122" Column="24" TopLine="107"/>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="2415" Column="83" TopLine="2397"/>
</Position1>
<Position2>
<Filename Value="JvNavPaneDemoMainForm.pas"/>
<Caret Line="11" Column="3"/>
<Filename Value="..\..\run\JvPageComps\jvnavigationpane.pas"/>
<Caret Line="2420" Column="31" TopLine="2391"/>
</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>
</ProjectOptions>
<CompilerOptions>

View File

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

View File

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

View File

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