1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
{*****************************************************************************}
{ }
{ Tnt Delphi Unicode Controls }
{ http://tnt.ccci.org/delphi_unicode_controls/ }
{ Version: 2.1.11 }
{ }
{ Copyright (c) 2002-2004, Troy Wolbrink (troy.wolbrink@ccci.org) }
{ }
{*****************************************************************************}
unit TntThemeMgrDB;
{$INCLUDE TntCompilers.inc}
//---------------------------------------------------------------------------------------------
// TTntThemeManagerDB is a TThemeManagerDB descendant that knows about Tnt Unicode controls.
// Most of the code is a complete copy from the Mike Lischke's original with only a
// few modifications to enabled Unicode support of Tnt controls.
//---------------------------------------------------------------------------------------------
// The initial developer of ThemeMgrDB.pas is:
// Dipl. Ing. Mike Lischke (public@lischke-online.de, www.lischke-online.de).
// http://www.delphi-gems.com/ThemeManager.php
//
// Portions created by Mike Lischke are
// (C) 2001-2002 Mike Lischke. All Rights Reserved.
//---------------------------------------------------------------------------------------------
interface
uses
Windows, Sysutils, Messages, Classes, Controls, Graphics, ThemeMgrDB, TntThemeMgr;
{TNT-WARN TThemeManagerDB}
type
TTntThemeManagerDB = class(TThemeManagerDB{TNT-ALLOW TThemeManagerDB})
private
FThemeMgrHelper: TTntThemeManagerHelper;
protected
function DoControlMessage(Control: TControl; var Message: TMessage): Boolean; override;
procedure Loaded; override;
public
constructor Create(AOwner: TComponent); override;
end;
procedure Register;
implementation
uses
ThemeMgr, ThemeSrv, TntClasses;
procedure Register;
begin
RegisterComponents('Tnt Additional', [TTntThemeManagerDB]);
end;
{ TTntThemeManagerDB }
constructor TTntThemeManagerDB.Create(AOwner: TComponent);
begin
inherited;
FThemeMgrHelper := TTntThemeManagerHelper.Create(Self);
end;
procedure TTntThemeManagerDB.Loaded;
begin
if (not (csDesigning in ComponentState))
and (not ThemeServices.ThemesAvailable) then begin
Options := Options - [toResetMouseCapture];
FixControls(nil);
end;
inherited;
end;
function TTntThemeManagerDB.DoControlMessage(Control: TControl; var Message: TMessage): Boolean;
begin
// if Control is TTntDB...
// handle it here...
// else
Result := FThemeMgrHelper.DoControlMessage(Control, Message);
end;
end.
|