NiceGrid: Attempt to fix editing cells in non-Windows widgetsets.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8876 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2023-07-08 21:54:41 +00:00
parent 36f9fff540
commit 0720be79d7
2 changed files with 175 additions and 80 deletions

View File

@ -22,6 +22,9 @@
</i18n> </i18n>
<BuildModes Count="1"> <BuildModes Count="1">
<Item1 Name="default" Default="True"/> <Item1 Name="default" Default="True"/>
<SessionMatrixOptions Count="1">
<Item1 ID="424392800469" Modes="default" Value="-gw3"/>
</SessionMatrixOptions>
</BuildModes> </BuildModes>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
@ -37,12 +40,12 @@
<PackageName Value="NiceGridLaz"/> <PackageName Value="NiceGridLaz"/>
</Item1> </Item1>
</RequiredPackages> </RequiredPackages>
<Units Count="14"> <Units Count="24">
<Unit0> <Unit0>
<Filename Value="basic_demo.lpr"/> <Filename Value="basic_demo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<CursorPos X="47" Y="15"/> <CursorPos X="47" Y="15"/>
<UsageCount Value="35"/> <UsageCount Value="46"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
@ -54,22 +57,22 @@
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="92"/> <TopLine Value="92"/>
<CursorPos X="53" Y="110"/> <CursorPos X="53" Y="110"/>
<UsageCount Value="22"/> <UsageCount Value="21"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="..\..\NiceGrid.pas"/> <Filename Value="..\..\NiceGrid.pas"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="500"/> <TopLine Value="500"/>
<CursorPos Y="502"/> <CursorPos Y="502"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\controls.pp"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\controls.pp"/>
<UnitName Value="Controls"/> <UnitName Value="Controls"/>
<EditorIndex Value="5"/> <EditorIndex Value="10"/>
<TopLine Value="2446"/> <TopLine Value="2210"/>
<CursorPos X="15" Y="2463"/> <CursorPos X="25" Y="2239"/>
<UsageCount Value="14"/> <UsageCount Value="20"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
@ -78,20 +81,20 @@
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="40"/> <TopLine Value="40"/>
<CursorPos X="6" Y="43"/> <CursorPos X="6" Y="43"/>
<UsageCount Value="12"/> <UsageCount Value="11"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="..\..\Packages\NiceGridLaz.pas"/> <Filename Value="..\..\Packages\NiceGridLaz.pas"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<CursorPos X="3" Y="11"/> <CursorPos X="3" Y="11"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="..\..\NiceGridReg.pas"/> <Filename Value="..\..\NiceGridReg.pas"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="52"/> <TopLine Value="52"/>
<CursorPos X="73" Y="56"/> <CursorPos X="73" Y="56"/>
<UsageCount Value="10"/> <UsageCount Value="9"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="..\common\main.pas"/> <Filename Value="..\common\main.pas"/>
@ -103,7 +106,7 @@
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="121"/> <TopLine Value="121"/>
<CursorPos X="3" Y="126"/> <CursorPos X="3" Y="126"/>
<UsageCount Value="33"/> <UsageCount Value="44"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit7> </Unit7>
@ -112,9 +115,9 @@
<UnitName Value="NiceGrid"/> <UnitName Value="NiceGrid"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="3"/> <EditorIndex Value="3"/>
<TopLine Value="551"/> <TopLine Value="386"/>
<CursorPos X="14" Y="573"/> <CursorPos X="32" Y="413"/>
<UsageCount Value="14"/> <UsageCount Value="20"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
@ -122,24 +125,24 @@
<EditorIndex Value="2"/> <EditorIndex Value="2"/>
<TopLine Value="740"/> <TopLine Value="740"/>
<CursorPos Y="771"/> <CursorPos Y="771"/>
<UsageCount Value="14"/> <UsageCount Value="20"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\include\winapih.inc"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\include\winapih.inc"/>
<EditorIndex Value="7"/> <EditorIndex Value="15"/>
<TopLine Value="287"/> <TopLine Value="287"/>
<CursorPos X="10" Y="305"/> <CursorPos X="10" Y="305"/>
<UsageCount Value="12"/> <UsageCount Value="18"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\lcltype.pp"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\lcltype.pp"/>
<UnitName Value="LCLType"/> <UnitName Value="LCLType"/>
<EditorIndex Value="6"/> <EditorIndex Value="12"/>
<TopLine Value="1202"/> <TopLine Value="1202"/>
<CursorPos X="3" Y="1220"/> <CursorPos X="3" Y="1220"/>
<UsageCount Value="12"/> <UsageCount Value="18"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit11> </Unit11>
<Unit12> <Unit12>
@ -148,139 +151,221 @@
<EditorIndex Value="4"/> <EditorIndex Value="4"/>
<TopLine Value="46"/> <TopLine Value="46"/>
<CursorPos X="14" Y="64"/> <CursorPos X="14" Y="64"/>
<UsageCount Value="12"/> <UsageCount Value="18"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
<Filename Value="C:\Lazarus\fpc-3.2.2\source\rtl\objpas\types.pp"/> <Filename Value="C:\Lazarus\fpc-3.2.2\source\rtl\objpas\types.pp"/>
<UnitName Value="Types"/> <UnitName Value="Types"/>
<EditorIndex Value="8"/> <EditorIndex Value="18"/>
<TopLine Value="317"/> <TopLine Value="317"/>
<CursorPos X="10" Y="335"/> <CursorPos X="10" Y="335"/>
<UsageCount Value="12"/> <UsageCount Value="18"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit13> </Unit13>
<Unit14>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\include\wincontrol.inc"/>
<EditorIndex Value="16"/>
<TopLine Value="5413"/>
<CursorPos Y="5432"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit14>
<Unit15>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\include\sizeconstraints.inc"/>
<EditorIndex Value="14"/>
<TopLine Value="23"/>
<CursorPos Y="44"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit15>
<Unit16>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\widgetset\wscontrols.pp"/>
<UnitName Value="WSControls"/>
<EditorIndex Value="17"/>
<TopLine Value="208"/>
<CursorPos Y="228"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit16>
<Unit17>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32lclintf.inc"/>
<EditorIndex Value="7"/>
<TopLine Value="635"/>
<CursorPos Y="652"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit17>
<Unit18>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\include\control.inc"/>
<EditorIndex Value="9"/>
<TopLine Value="2273"/>
<CursorPos Y="2299"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit18>
<Unit19>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\lclmessageglue.pas"/>
<UnitName Value="LCLMessageGlue"/>
<EditorIndex Value="11"/>
<TopLine Value="104"/>
<CursorPos Y="125"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit19>
<Unit20>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<EditorIndex Value="5"/>
<TopLine Value="2780"/>
<CursorPos X="25" Y="2799"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit20>
<Unit21>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32object.inc"/>
<EditorIndex Value="8"/>
<TopLine Value="387"/>
<CursorPos Y="404"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit21>
<Unit22>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\lmessages.pp"/>
<UnitName Value="LMessages"/>
<EditorIndex Value="13"/>
<TopLine Value="180"/>
<CursorPos X="3" Y="216"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit22>
<Unit23>
<Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32int.pp"/>
<UnitName Value="Win32Int"/>
<EditorIndex Value="6"/>
<TopLine Value="244"/>
<CursorPos X="10" Y="262"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit23>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\lclmessageglue.pas"/>
<Caret Line="522" Column="35" TopLine="504"/> <Caret Line="124" TopLine="104"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\lclmessageglue.pas"/>
<Caret Line="3698" Column="3" TopLine="3680"/> <Caret Line="125" TopLine="104"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="3708" Column="58" TopLine="3691"/> <Caret Line="2735" TopLine="2706"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="3681" Column="36" TopLine="3663"/> <Caret Line="2739" TopLine="2710"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="290" Column="30" TopLine="274"/> <Caret Line="2750" TopLine="2732"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="1300" Column="57" TopLine="1283"/> <Caret Line="2751" TopLine="2732"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="1251" Column="57" TopLine="1226"/> <Caret Line="2752" TopLine="2732"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="1232" Column="59" TopLine="1213"/> <Caret Line="2756" TopLine="2732"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="1212" Column="59" TopLine="1194"/> <Caret Line="2757" TopLine="2732"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="1156" Column="16" TopLine="1144"/> <Caret Line="2031" TopLine="2012"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="699" Column="11" TopLine="677"/> <Caret Line="2767" TopLine="2750"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="323" Column="52" TopLine="307"/> <Caret Line="2768" TopLine="2744"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="..\common\main.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="35" Column="7" TopLine="17"/> <Caret Line="2030" TopLine="2011"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="415" Column="25" TopLine="396"/> <Caret Line="2769" TopLine="2752"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="C:\Lazarus\lazarus-main_fpc3.2.2\lcl\interfaces\win32\win32callback.inc"/>
<Caret Line="643" Column="36" TopLine="625"/> <Caret Line="2799" Column="25" TopLine="2780"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="640" Column="8" TopLine="630"/> <Caret Line="2294" Column="23" TopLine="2285"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="557" Column="88" TopLine="536"/> <Caret Line="153" Column="15" TopLine="134"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="..\common\main.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="35" Column="35" TopLine="18"/> <Caret Line="4095" Column="3" TopLine="4095"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="..\common\main.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="126" Column="3" TopLine="121"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="290" Column="30" TopLine="274"/> <Caret Line="2177" Column="23" TopLine="2151"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="3175" Column="15" TopLine="3171"/> <Caret Line="292" Column="5" TopLine="270"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="522" Column="35" TopLine="504"/> <Caret Line="2859" Column="3" TopLine="2859"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="4180" Column="16" TopLine="4178"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="523" Column="33" TopLine="505"/> <Caret Line="290" Column="69" TopLine="262"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="4191" Column="36" TopLine="4188"/> <Caret Line="301" Column="67" TopLine="273"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="575" Column="5" TopLine="551"/> <Caret Line="2177" Column="28" TopLine="2148"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="523" Column="46" TopLine="505"/> <Caret Line="2598" Column="10" TopLine="2569"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="519" Column="43" TopLine="501"/> <Caret Line="3173" Column="13" TopLine="3151"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="4203" Column="16" TopLine="4201"/> <Caret Line="387" Column="15" TopLine="387"/>
</Position29> </Position29>
<Position30> <Position30>
<Filename Value="..\..\..\source\nicegrid.pas"/> <Filename Value="..\..\..\source\nicegrid.pas"/>
<Caret Line="4195" Column="3" TopLine="4177"/> <Caret Line="3159" Column="21" TopLine="3146"/>
</Position30> </Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>

View File

@ -287,8 +287,8 @@ type
procedure WMMouseWheel(var Msg: TLMessage{TWMMouseWheel}); message LM_MOUSEWHEEL; procedure WMMouseWheel(var Msg: TLMessage{TWMMouseWheel}); message LM_MOUSEWHEEL;
procedure WMSize(var Msg: TLMessage); message LM_SIZE; procedure WMSize(var Msg: TLMessage); message LM_SIZE;
procedure WMEraseBkgnd(var Msg: TLMEraseBkGnd); message LM_ERASEBKGND; procedure WMEraseBkgnd(var Msg: TLMEraseBkGnd); message LM_ERASEBKGND;
procedure WMSetFocus(var Msg: TLMSetFocus); message LM_SETFOCUS; // procedure WMSetFocus(var Msg: TLMSetFocus); message LM_SETFOCUS;
procedure WMKillFocus(var Msg: TLMKillFocus); message LM_KILLFOCUS; // procedure WMKillFocus(var Msg: TLMKillFocus); message LM_KILLFOCUS;
procedure CMWantSpecialKey(var Message: TLMKey); message CM_WANTSPECIALKEY; procedure CMWantSpecialKey(var Message: TLMKey); message CM_WANTSPECIALKEY;
procedure CMFontChanged(var Msg: TLMessage); message CM_FONTCHANGED; procedure CMFontChanged(var Msg: TLMessage); message CM_FONTCHANGED;
{$ELSE} {$ELSE}
@ -409,6 +409,8 @@ type
function TextExtent(const s: String): TSize; function TextExtent(const s: String): TSize;
{$IFDEF FPC} {$IFDEF FPC}
procedure DoAutoAdjustLayout(const AMode: TLayoutAdjustmentPolicy; const AXProportion, AYProportion: Double); override; procedure DoAutoAdjustLayout(const AMode: TLayoutAdjustmentPolicy; const AXProportion, AYProportion: Double); override;
procedure DoEnter; override;
procedure DoExit; override;
{$ENDIF} {$ENDIF}
public public
@ -1967,7 +1969,6 @@ var
end; end;
begin begin
if not FEnabled if not FEnabled
then Exit; then Exit;
@ -2175,7 +2176,7 @@ begin
begin begin
IsEditing := True; IsEditing := True;
FEdit.ShowEdit(FCol, FRow); FEdit.ShowEdit(FCol, FRow);
FEdit.SelectAll; FEdit.SetFocus;
end; end;
//end; //end;
end; end;
@ -2287,7 +2288,6 @@ begin
UpdateColRow; UpdateColRow;
end; end;
end; end;
end; end;
end; end;
@ -3161,12 +3161,18 @@ begin
CaretVisible := True; CaretVisible := True;
end; end;
procedure TNiceGrid.WMKillFocus(var Msg: {$IFDEF FPC}TLMKillFocus{$ELSE}TWMKillFocus{$ENDIF}); {$IFDEF FPC}
procedure TNiceGrid.DoExit;
{$ELSE}
procedure TNiceGrid.WMKillFocus(var Msg: TWMKillFocus);
{$ENDIF}
begin begin
if FEdit.HandleAllocated then if FEdit.HandleAllocated then
begin begin
if (Msg.FocusedWnd <> FEdit.Handle) {$IFNDEF FPC}
then ForceHideCaret; if (Msg.FocusedWnd <> FEdit.Handle) then
{$ENDIF}
ForceHideCaret;
DestroyCaret{$IFDEF FPC}(FEdit.Handle){$ENDIF}; DestroyCaret{$IFDEF FPC}(FEdit.Handle){$ENDIF};
end; end;
CaretVisible := False; CaretVisible := False;
@ -3174,9 +3180,12 @@ begin
then InvalidateCells; then InvalidateCells;
end; end;
procedure TNiceGrid.WMSetFocus(var Msg: {$IFDEF FPC}TLMSetFocus{$ELSE}TWMSetFocus{$ENDIF}); {$IFDEF FPC}
procedure TNiceGrid.DoEnter;
{$ELSE}
procedure TNiceGrid.WMSetFocus(var Msg: TWMSetFocus);
{$ENDIF}
begin begin
Unused(Msg);
CreateCaret(Handle, 0, 1, FDefRowHeight - 2); CreateCaret(Handle, 0, 1, FDefRowHeight - 2);
CaretVisible := False; CaretVisible := False;
InvalidateCells; InvalidateCells;
@ -4110,6 +4119,7 @@ begin
SetBounds(l, t, w, h); SetBounds(l, t, w, h);
Show; Show;
SetFocus;
end; end;