| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- // Borland C++ Builder
- // Copyright (c) 1995, 2002 by Borland Software Corporation
- // All rights reserved
- // (DO NOT EDIT: machine generated header) 'ThemeMgr.pas' rev: 6.00
- #ifndef ThemeMgrHPP
- #define ThemeMgrHPP
- #pragma delphiheader begin
- #pragma option push -w-
- #pragma option push -Vx
- #include <ThemeSrv.hpp> // Pascal unit
- #include <Forms.hpp> // Pascal unit
- #include <Buttons.hpp> // Pascal unit
- #include <StdCtrls.hpp> // Pascal unit
- #include <Controls.hpp> // Pascal unit
- #include <Graphics.hpp> // Pascal unit
- #include <Messages.hpp> // Pascal unit
- #include <Classes.hpp> // Pascal unit
- #include <Windows.hpp> // Pascal unit
- #include <SysInit.hpp> // Pascal unit
- #include <System.hpp> // Pascal unit
- //-- user supplied -----------------------------------------------------------
- namespace Thememgr
- {
- //-- type declarations -------------------------------------------------------
- #pragma option push -b-
- enum TThemeOption { toAllowNonClientArea, toAllowControls, toAllowWebContent, toSubclassAnimate, toSubclassButtons, toSubclassCheckListbox, toSubclassDBLookup, toSubclassFrame, toSubclassGroupBox, toSubclassListView, toSubclassPanel, toSubclassTabSheet, toSubclassSpeedButtons, toSubclassSplitter, toSubclassStatusBar, toSubclassTrackBar, toSubclassWinControl, toResetMouseCapture, toSetTransparency, toAlternateTabSheetDraw };
- #pragma option pop
- typedef Set<TThemeOption, toAllowNonClientArea, toAlternateTabSheetDraw> TThemeOptions;
- #pragma pack(push, 1)
- struct TWMPrint
- {
- unsigned Msg;
- HDC DC;
- unsigned Flags;
- int Result;
- } ;
- #pragma pack(pop)
- typedef TWMPrint TWMPrintClient;
- class DELPHICLASS TThemeManager;
- typedef void __fastcall (__closure *TAllowSubclassingEvent)(TThemeManager* Sender, Controls::TControl* Control, bool &Allow);
- typedef void __fastcall (__closure *TControlMessageEvent)(TThemeManager* Sender, Controls::TControl* Control, Messages::TMessage &Message, bool &Handled);
- typedef TControlMessageEvent *PControlMessageEvent;
- class DELPHICLASS TWindowProcList;
- class PASCALIMPLEMENTATION TWindowProcList : public Classes::TList
- {
- typedef Classes::TList inherited;
-
- private:
- bool FDirty;
- Controls::TControl* FLastControl;
- int FLastIndex;
- TThemeManager* FOwner;
- Classes::TWndMethod FNewWindowProc;
- TMetaClass*FControlClass;
-
- public:
- __fastcall TWindowProcList(TThemeManager* Owner, Classes::TWndMethod WindowProc, TMetaClass* ControlClass);
- __fastcall virtual ~TWindowProcList(void);
- HIDESBASE int __fastcall Add(Controls::TControl* Control);
- virtual void __fastcall Clear(void);
- void __fastcall DispatchMessage(Controls::TControl* Control, Messages::TMessage &Message);
- bool __fastcall Find(Controls::TControl* Control, /* out */ int &Index);
- HIDESBASE void __fastcall Remove(Controls::TControl* Control);
- };
- class PASCALIMPLEMENTATION TThemeManager : public Classes::TComponent
- {
- typedef Classes::TComponent inherited;
-
- private:
- TThemeOptions FOptions;
- TWindowProcList* FPanelList;
- TWindowProcList* FFrameList;
- TWindowProcList* FListViewList;
- TWindowProcList* FTabSheetList;
- TWindowProcList* FWinControlList;
- TWindowProcList* FGroupBoxList;
- TWindowProcList* FButtonControlList;
- TWindowProcList* FCheckBoxList;
- TWindowProcList* FButtonList;
- TWindowProcList* FSpeedButtonList;
- TWindowProcList* FSplitterList;
- TWindowProcList* FTrackBarList;
- TWindowProcList* FAnimateList;
- TWindowProcList* FStatusBarList;
- TWindowProcList* FCheckListBoxList;
- TWindowProcList* FFormList;
- Classes::TList* FListeners;
- Classes::TList* FPendingFormsList;
- Classes::TList* FPendingRecreationList;
- bool FSubclassingDisabled;
- bool FHookWasInstalled;
- Classes::TNotifyEvent FOnThemeChange;
- TControlMessageEvent FOnControlMessage;
- TAllowSubclassingEvent FOnAllowSubclassing;
- void __fastcall AnimateWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall ButtonControlWindowProc(Controls::TControl* Control, Messages::TMessage &Message, TWindowProcList* List);
- void __fastcall CheckListBoxWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall FormWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall FrameWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- bool __fastcall GetIsMainManager(void);
- void __fastcall GroupBoxWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall ListviewWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- bool __fastcall MainWindowHook(Messages::TMessage &Message);
- void __fastcall PanelWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall SetThemeOptions(const TThemeOptions Value);
- void __fastcall SpeedButtonWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall SplitterWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall StatusBarWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall TabSheetWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall TrackBarWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall WinControlWindowProc(Controls::TControl* Control, Messages::TMessage &Message);
- void __fastcall PreAnimateWindowProc(Messages::TMessage &Message);
- void __fastcall PreButtonControlWindowProc(Messages::TMessage &Message);
- void __fastcall PreCheckBoxWindowProc(Messages::TMessage &Message);
- void __fastcall PreButtonWindowProc(Messages::TMessage &Message);
- void __fastcall PreCheckListBoxWindowProc(Messages::TMessage &Message);
- void __fastcall PreFormWindowProc(Messages::TMessage &Message);
- void __fastcall PreFrameWindowProc(Messages::TMessage &Message);
- void __fastcall PreGroupBoxWindowProc(Messages::TMessage &Message);
- void __fastcall PreListviewWindowProc(Messages::TMessage &Message);
- void __fastcall PrePanelWindowProc(Messages::TMessage &Message);
- void __fastcall PreSpeedButtonWindowProc(Messages::TMessage &Message);
- void __fastcall PreSplitterWindowProc(Messages::TMessage &Message);
- void __fastcall PreStatusBarWindowProc(Messages::TMessage &Message);
- void __fastcall PreTabSheetWindowProc(Messages::TMessage &Message);
- void __fastcall PreTrackBarWindowProc(Messages::TMessage &Message);
- void __fastcall PreWinControlWindowProc(Messages::TMessage &Message);
- bool __fastcall GetThemesEnabled(void);
-
- protected:
- virtual void __fastcall AddRecreationCandidate(Controls::TControl* Control);
- void __fastcall BroadcastThemeChange(void);
- /* class method */ static TThemeManager* __fastcall CurrentThemeManager(TMetaClass* vmt);
- virtual bool __fastcall DoAllowSubclassing(Controls::TControl* Control);
- virtual bool __fastcall DoControlMessage(Controls::TControl* Control, Messages::TMessage &Message);
- virtual void __fastcall DoOnThemeChange(void);
- void __fastcall DrawBitBtn(Buttons::TBitBtn* Control, tagDRAWITEMSTRUCT &DrawItemStruct);
- void __fastcall DrawButton(Controls::TControl* Control, Themesrv::TThemedButton Button, HDC DC, const Types::TRect &R, bool Focused);
- bool __fastcall FindListener(TControlMessageEvent AControlMessage, int &Index);
- void __fastcall FixControls(Forms::TCustomForm* Form = (Forms::TCustomForm*)(0x0));
- virtual void __fastcall ForceAsMainManager(void);
- virtual void __fastcall HandleControlChange(Controls::TControl* Control, bool Inserting);
- bool __fastcall IsRecreationCandidate(Controls::TControl* Control);
- virtual void __fastcall Loaded(void);
- virtual bool __fastcall NeedsBorderPaint(Controls::TControl* Control);
- virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
- void __fastcall RemoveChildSubclassing(Controls::TWinControl* Control);
- void __fastcall RemoveRecreationCandidate(Controls::TControl* Control);
- void __fastcall UpdateThemes(void);
- void __fastcall UpdateUIState(Controls::TControl* Control, Word CharCode);
-
- public:
- __fastcall virtual TThemeManager(Classes::TComponent* AOwner);
- __fastcall virtual ~TThemeManager(void);
- Graphics::TColor __fastcall GetColor(Themesrv::TThemedElement Element, int PartId, int StateId, int PropId);
- __property bool ThemesEnabled = {read=GetThemesEnabled, nodefault};
- void __fastcall ClearLists(void);
- void __fastcall CollectForms(Forms::TCustomForm* Form = (Forms::TCustomForm*)(0x0));
- void __fastcall CollectControls(Controls::TWinControl* Parent);
- void __fastcall PerformEraseBackground(Controls::TControl* Control, HDC DC);
- void __fastcall RegisterListener(TControlMessageEvent AControlMessage);
- void __fastcall UnregisterListener(TControlMessageEvent AControlMessage);
- __property bool IsMainManager = {read=GetIsMainManager, nodefault};
-
- __published:
- __property TThemeOptions Options = {read=FOptions, write=SetThemeOptions, default=524279};
- __property TAllowSubclassingEvent OnAllowSubclassing = {read=FOnAllowSubclassing, write=FOnAllowSubclassing};
- __property TControlMessageEvent OnControlMessage = {read=FOnControlMessage, write=FOnControlMessage};
- __property Classes::TNotifyEvent OnThemeChange = {read=FOnThemeChange, write=FOnThemeChange};
- };
- //-- var, const, procedure ---------------------------------------------------
- #define TMVersion "1.10.1"
- static const Word CM_DENYSUBCLASSING = 0xb7d0;
- static const Word SPI_GETFOCUSBORDERWIDTH = 0x200e;
- static const Word SPI_SETFOCUSBORDERWIDTH = 0x200f;
- static const Word SPI_GETFOCUSBORDERHEIGHT = 0x2010;
- static const Word SPI_SETFOCUSBORDERHEIGHT = 0x2011;
- #define DefaultThemeOptions (System::Set<TThemeOption, toAllowNonClientArea, toAlternateTabSheetDraw> () << TThemeOption(0) << TThemeOption(1) << TThemeOption(2) << TThemeOption(4) << TThemeOption(5) << TThemeOption(6) << TThemeOption(7) << TThemeOption(8) << TThemeOption(9) << TThemeOption(10) << TThemeOption(11) << TThemeOption(12) << TThemeOption(13) << TThemeOption(14) << TThemeOption(15) << TThemeOption(16) << TThemeOption(17) << TThemeOption(18) )
- extern PACKAGE bool IsWindowsXP;
- } /* namespace Thememgr */
- using namespace Thememgr;
- #pragma option pop // -w-
- #pragma option pop // -Vx
- #pragma delphiheader end.
- //-- end unit ----------------------------------------------------------------
- #endif // ThemeMgr
|