// ExpandPanels Version 3.0 2024-01-31 MaxM: First port from original code in BGRAControls (formally Ver. 3.0) // ExpandPanels Version 2.2 30-06-2016 MaxM : Added Button.Style as bbsLineTop,bbsLineBottom,bbsLineDoubleTop,bbsLineDoubleBottom Fixed Some Paint Coordinate position of Button elements and Lines 21-06-2016 MaxM : Added Button.GlyphKind (default to gkArrows) Added gkClose (EXP_PANEL_CLOSE.png), gkMinMax (EXP_PANEL_MIN_*.png, EXP_PANEL_MAX_*.png) Glyphs Added TExpandPanels properties ButtonGlyphLayout,ButtonGlyphKind,ButtonStyle,ButtonTextLayout,ButtonTabWidth 15-06-2016 MaxM : Added Button.Style as bbsLine and bbsLineDouble 09-06-2016 MaxM : Completed Painting of Button.Style as bbsTab 05-2016 MaxM : Added Owner Draw of Panel so we can Draw Rounded Borders and don't draw Borders when Collapsed Added Style property on Button (bbsButton, bbsTab) (bbsTab paint is incomplete do not use) Deleted BevenInner/Outer redefinition no more needed because now we draw the borders Changed using of writeln with debugln because strange exceptions under Windows Moved TMyRollOut.Loaded Code to CreateWnd because on RunTime creation is never Called Fixed More OnCollapsed events Fixed PositionButton is called only after Loaded is complete Updated Copyright and Created separeted txt files Added development test with only one panel (to simplify my life) // ExpandPanels Version 2.1 23-07-2015 MaxM : Added Owner Draw of Button so we can Draw Vertically when ButtonPosition is akLeft or akRight Added Glyphs Support (Automatically Loaded from Resources or User Passed) Solved Bugs About BevelOuter and Starting in Collapsed State Moved Colors inside Button // TO-DO: - MaxM: Fix User components have 2 Pixels visible over the Button when Button Position is akRight and is Collapsed SEE PROJECT1 DEVELOPMENT - ONLY ADDED IN TExpandPanels? Fix Shadows incoerence when Button.Style is bbsTab, the Panel attached side may not have borders. - Alex simplyfy everything with verctor addition and scalar multiplication (orthogonal basis vectors... and so on) if horizonatal and vertical would be described by a unity vector, I could calculate if a certain operation should be performed and I could just multiply the basis vector with an operation to get a delta movement (or none) Known Bugs: - the TExpandPanels lacks a arrange on bottom and right - (Solved?) Button.Color Setted to clBtnFace at DesignTime -> Color = clSkyBlue in RunTime (is not Loaded because is The inherited Default Color of TCustomSpeedButton)