This is for Delphi plugin developers which I guess are few and far between but someone out there might be interested.
I have developed a class which will track positional and size changes of windows in the IDE. This will enable you to write plug-ins which will exactly sit over the Explorer, Editing or Results windows in the IDE appearing as if they are and integral part of the IDE.
Hi, its great to see you visiting our forum. Why not try Proton Compiler for FREE?
Download the FREE version of Proton Compiler, Its called Amicus18 and its available from HERE
Already using proton Compiler??? Get rid of these pesky messages... get LICENSED USER STATUS
These are the public functions and events the class delivers.
Initialisation/Finalisation:
constructor Create(pOwner: tComponent; IdeName: String; TrackingRate: Integer = 0);
Destructor Destroy; override;
Update: (Not generally required)
procedure Refresh;
Window size/position Functions - each function returns a TWindows structure see above
function ApplWindow: tWindows;
function MainForm: tWindows;
function EditWindow: tWindows;
function ExplWindow: tWindows;
function ResultsWindow: tWindows;
Window States
function IDEIsMinimized: Boolean;
function IDEIsMaximized: Boolean;
function IDEIsActive: Boolean;
Events:
property On_ApplWindowChange: tWinChangeEvent Read f_OnApplWinChange write f_OnApplWinChange;
property On_MainFormChange: tWinChangeEvent Read f_OnMainFormChange write f_OnMainFormChange;
property On_EditWindowChange: tWinChangeEvent Read f_OnEditWinChange write f_OnEditWinChange;
property On_ExplWindowChange: tWinChangeEvent Read f_OnExplWinChange write f_OnExplWinChange;
property On_ResultsWindowChange: tWinChangeEvent Read f_OnRestWinChange write f_OnRestWinChange;
property On_Appl_StateChange: tWinStateEvent Read f_OnApplStateChange write f_OnApplStateChange;
TWindows = record
Handle: Hwnd;
Title: string;
Owner: Hwnd;
ClassName: String;
WinRect: TRect;
ClientRect: TRect;
GutterWidth: Integer;
Visible: Boolean;
If developers find this useful I could make it into a DLL which could then be used by VB or Delphi programmers. I will decide based on the response I get from this posting.


Reply With Quote


