Autor Téma: Barva pozadí Inplace Editoru v buňce TJvDBGrid v XE4  (Přečteno 728 krát)

Offline mirus

  • Mladík
  • **
  • Příspěvků: 58
  • Karma: 12
    • Verze Delphi: Delphi 10.2
Zdravím,
 v Delphi XE2 jsem v projektu používal nastavení barvy pozadí inplace editoru buňky v TJvDBGrid. Fungovalo (verze Delphi XE 2 , JVCL 3.47 Stable).
Po převedení projektu do Delphi XE4 (JVCL 3.48 SVN) mi přestalo obarvení inplace editoru v buňce fungovat. Krokoval jsem kód v programu a kód pro nastavení se provádí.
Aplikace nepoužívá styly, ani XP Theme. Prostě vypadá jako klasické téma windows.
V JVCL kompilaci nezapínám JVCLThemesEnabled.

Nevíte jak to zprovoznit to obarvení inplace editoru v XE4?

kód hack inplace edit
Kód: Delphi [Vybrat]
  1.  
  2. ...
  3. TMyInplaceEdit = class(TInplaceEdit)
  4.   published
  5.     property ParentColor;
  6.     property ParentFont;
  7.     property Color;
  8.     property Font;
  9.   end;
  10. ...
  11. function TMyGrid.CreateEditor: TInplaceEdit;
  12. begin
  13.   Result := inherited CreateEditor;
  14.   UpdateEditor(Result);
  15. end;
  16. ...
  17.  
  18. procedure TMyGrid.UpdateEditor(aEditor: TInplaceEdit);
  19. var
  20.   S : string;
  21. begin
  22.   if aEditor <> nil then
  23.     begin
  24.           with TMyInplaceEdit(aEditor) do
  25.             begin
  26.               Color := FEditActiveColor; // funguje v XE2 ale už ne v XE4
  27.               Font.Color := FEditActiveFontColor; // kdysi fungovalo už nějaký čas od některe verze JVCL nefunguje
  28.             end;
  29.     end;
  30. end;
  31.  
  32.