jvcl: Add instructions how to extend the JvDesigner demo.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7147 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2019-08-30 15:44:10 +00:00
parent 1f50407f92
commit 947e735949
2 changed files with 135 additions and 113 deletions

View File

@ -42,7 +42,7 @@
<Unit0>
<Filename Value="jvDesignerDemo.lpr"/>
<IsPartOfProject Value="True"/>
<UsageCount Value="43"/>
<UsageCount Value="44"/>
</Unit0>
<Unit1>
<Filename Value="main.pas"/>
@ -51,9 +51,12 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<TopLine Value="94"/>
<CursorPos X="3" Y="97"/>
<UsageCount Value="43"/>
<TopLine Value="138"/>
<CursorPos X="4" Y="162"/>
<UsageCount Value="44"/>
<Bookmarks Count="1">
<Item0 X="5" Y="10" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@ -276,124 +279,123 @@
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8125" TopLine="8103"/>
</Position1>
<Position2>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8127" TopLine="8103"/>
</Position2>
<Position3>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8128" TopLine="8103"/>
</Position3>
<Position4>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8130" TopLine="8103"/>
</Position4>
<Position5>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8131" TopLine="8103"/>
</Position5>
<Position6>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8139" TopLine="8121"/>
</Position6>
<Position7>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8142" TopLine="8121"/>
</Position7>
<Position8>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\wincontrol.inc"/>
<Caret Line="8145" TopLine="8121"/>
</Position8>
<Position9>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\include\control.inc"/>
<Caret Line="3324" TopLine="3305"/>
</Position9>
<Position10>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1226" TopLine="1215"/>
</Position10>
<Position11>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignsurface.pas"/>
<Caret Line="436" TopLine="418"/>
</Position11>
<Position12>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignsurface.pas"/>
<Caret Line="438" TopLine="418"/>
</Position12>
<Position13>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1227" TopLine="1215"/>
</Position13>
<Position14>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1234" TopLine="1215"/>
</Position14>
<Position15>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="994" TopLine="977"/>
</Position15>
<Position16>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="995" TopLine="977"/>
</Position16>
<Position17>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1003" TopLine="977"/>
</Position17>
<Position18>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignsurface.pas"/>
<Caret Line="540" TopLine="522"/>
</Position18>
<Position19>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignsurface.pas"/>
<Caret Line="542" TopLine="522"/>
</Position19>
<Position20>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1006" TopLine="977"/>
</Position20>
<Position21>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1008" TopLine="979"/>
</Position21>
<Position22>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1025" TopLine="1007"/>
</Position22>
<Position23>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1026" TopLine="1007"/>
</Position23>
<Position24>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1028" TopLine="1007"/>
</Position24>
<Position25>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignimp.pas"/>
<Caret Line="1029" TopLine="1007"/>
</Position25>
<Position26>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignsurface.pas"/>
<Caret Line="922" TopLine="905"/>
</Position26>
<Position27>
</Position1>
<Position2>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignsurface.pas"/>
<Caret Line="333" TopLine="315"/>
</Position27>
<Position28>
</Position2>
<Position3>
<Filename Value="..\..\run\JvRuntimeDesign\jvdesignsurface.pas"/>
<Caret Line="361" TopLine="342"/>
</Position28>
<Position29>
</Position3>
<Position4>
<Filename Value="C:\lazarus-trunk_fpc304\lcl\lclmessageglue.pas"/>
<Caret Line="118" Column="55" TopLine="102"/>
</Position4>
<Position5>
<Filename Value="main.pas"/>
<Caret Line="44" Column="23" TopLine="38"/>
</Position5>
<Position6>
<Filename Value="main.pas"/>
<Caret Line="104" Column="37" TopLine="94"/>
</Position6>
<Position7>
<Filename Value="main.pas"/>
<Caret Line="140" Column="61" TopLine="134"/>
</Position7>
<Position8>
<Filename Value="main.pas"/>
<Caret Line="157" Column="38" TopLine="134"/>
</Position8>
<Position9>
<Filename Value="main.pas"/>
<Caret Line="104" Column="34" TopLine="90"/>
</Position9>
<Position10>
<Filename Value="main.pas"/>
<Caret Line="141" TopLine="118"/>
</Position10>
<Position11>
<Filename Value="main.pas"/>
<Caret Line="142" TopLine="118"/>
</Position11>
<Position12>
<Filename Value="main.pas"/>
<Caret Line="144" TopLine="118"/>
</Position12>
<Position13>
<Filename Value="main.pas"/>
<Caret Line="145" TopLine="118"/>
</Position13>
<Position14>
<Filename Value="main.pas"/>
<Caret Line="147" TopLine="118"/>
</Position14>
<Position15>
<Filename Value="main.pas"/>
<Caret Line="141" TopLine="118"/>
</Position15>
<Position16>
<Filename Value="main.pas"/>
<Caret Line="118" Column="25" TopLine="118"/>
</Position16>
<Position17>
<Filename Value="main.pas"/>
</Position17>
<Position18>
<Filename Value="main.pas"/>
<Caret Line="59" Column="16" TopLine="30"/>
</Position18>
<Position19>
<Filename Value="main.pas"/>
<Caret Line="141" Column="25" TopLine="111"/>
</Position19>
<Position20>
<Filename Value="main.pas"/>
<Caret Line="144" Column="18" TopLine="114"/>
</Position20>
<Position21>
<Filename Value="main.pas"/>
<Caret Line="157" Column="12" TopLine="132"/>
</Position21>
<Position22>
<Filename Value="main.pas"/>
<Caret Line="132" Column="41" TopLine="132"/>
</Position22>
<Position23>
<Filename Value="main.pas"/>
<Caret Line="2" Column="5"/>
</Position23>
<Position24>
<Filename Value="main.pas"/>
<Caret Line="138" TopLine="138"/>
</Position24>
<Position25>
<Filename Value="main.pas"/>
<Caret Line="3" Column="15"/>
</Position25>
<Position26>
<Filename Value="main.pas"/>
<Caret Line="139" TopLine="139"/>
</Position26>
<Position27>
<Filename Value="main.pas"/>
<Caret Line="125" Column="49" TopLine="125"/>
</Position27>
<Position28>
<Filename Value="main.pas"/>
<Caret Line="2"/>
</Position28>
<Position29>
<Filename Value="main.pas"/>
<Caret Line="176" Column="23" TopLine="154"/>
</Position29>
<Position30>
<Filename Value="main.pas"/>
<Caret Line="44" Column="23" TopLine="38"/>
<Caret Line="175" Column="23" TopLine="153"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -1,3 +1,23 @@
{ How to add a new design control type to the demo (example: add a TEdit):
- In the Initialization section register the new class. Add the line
"RegisterClass(TEdit);"
- Add the palette icon of the new class to the ImageList of the demo. You
can find the palette icons of the LCL components in the folder
"images/components" of your Lazarus installation. Select the one without
size appending, e.g. "tedit.png" (not "tedit_150.png") - this demo does
not support the LCL multi-size image list.
- Add a new button to the toolbar. Set its ImageIndex to the index of the
correspondig icon in the image list. Each tool button has a Tag property.
Set the Tag of the new button to the next value - look at the other buttons
to see their Tag values.
- Assign the handler "PaletteButtonClick" to the new button.
- Go to "TMainForm.PaletteButtonClick" and add the name of the new class to
the array "oClasses". Don't forget to increment the upper array index.
Note that the array index is equal to the Tag of the corresponding
button.
}
unit main;
{$mode objfpc}{$H+}
@ -140,7 +160,7 @@ begin
ioClass := DesignClass;
if not StickyClass then
begin
DesignClass := '';
DesignClass := '';
SelectButton.Down := true;
end;
end;
@ -154,7 +174,7 @@ end;
procedure TMainForm.PaletteButtonClick(Sender: TObject);
const
cClasses: array[0..4] of string = ( '', 'TButton', 'TLabel', 'TPanel',
'TImage' );
'TImage');
begin
// StickyClass := (GetKeyState(VK_SHIFT) < 0);
StickyClass := False;