6 Windows, Messages, SysUtils, Classes, Controls, ExtCtrls,
10 TStaticBorderStyle = (sbsNone, sbsSingle, sbsSunken);
12 TGikoPanel = class(TWinControl)
14 FBorderStyle: TStaticBorderStyle;
15 procedure SetBorderStyle(Value: TStaticBorderStyle);
17 procedure CreateParams(var Params: TCreateParams); override;
19 constructor Create(AOwner: TComponent); override;
21 property BorderStyle: TStaticBorderStyle read FBorderStyle
22 write SetBorderStyle default sbsNone;
28 property BevelKind default bkNone;
37 property ParentShowHint;
44 property OnContextPopup;
63 RegisterComponents('gikoNavi', [TGikoPanel]);
66 constructor TGikoPanel.Create(AOwner: TComponent);
68 inherited Create(AOwner);
69 ControlStyle := [csAcceptsControls, csCaptureMouse, csClickEvents,
70 csOpaque, csReplicatable, csDoubleClicks];
75 procedure TGikoPanel.CreateParams(var Params: TCreateParams);
77 Alignments: array[Boolean, TAlignment] of DWORD =
78 ((SS_LEFT, SS_RIGHT, SS_CENTER), (SS_RIGHT, SS_LEFT, SS_CENTER));
79 Borders: array[TStaticBorderStyle] of DWORD = (0, WS_BORDER, SS_SUNKEN);
81 inherited CreateParams(Params);
83 Style := Style or SS_NOTIFY or
84 Borders[FBorderStyle];
85 WindowClass.style := WindowClass.style and not CS_VREDRAW;
89 procedure TGikoPanel.SetBorderStyle(Value: TStaticBorderStyle);
91 if FBorderStyle <> Value then begin
92 FBorderStyle := Value;