📄 jvqexgrids.pas
字号:
end;
procedure TJvExCustomGrid.FontChanged;
begin
Perform(CM_FONTCHANGED, 0, 0);
inherited FontChanged;
end;
procedure TJvExCustomGrid.FocusChanged;
begin
{ notification }
end;
{ QControl Common}
function TJvExCustomGrid.HitTest(X, Y: integer): Boolean;
begin
Result := Perform(CM_HITTEST, 0, 0) <> HTNOWHERE;
end;
procedure TJvExCustomGrid.CMHintShow(var Mesg: TJvMessage);
begin
with Mesg do
begin
Handled := inherited HintShow(HintInfo^);
end;
end;
procedure TJvExCustomGrid.CMSysFontChanged(var Mesg: TMessage);
begin
if FDesktopFont then
begin
Font.Assign(Application.Font);
FDesktopFont := True;
end;
end;
procedure TJvExCustomGrid.EnabledChanged;
begin
Perform(CM_ENABLEDCHANGED, 0, 0);
inherited EnabledChanged;
end;
procedure TJvExCustomGrid.TextChanged;
begin
Perform(CM_TEXTCHANGED, 0, 0);
inherited TextChanged;
end;
procedure TJvExCustomGrid.VisibleChanged;
begin
Perform(CM_VISIBLECHANGED, 0, 0);
inherited VisibleChanged;
end;
function TJvExCustomGrid.HintShow(var HintInfo : THintInfo): Boolean;
begin
Result := Perform(CM_HINTSHOW, 0, Integer(@HintInfo)) <> 0;
end;
procedure TJvExCustomGrid.MouseEnter(AControl: TControl);
begin
Perform(CM_MOUSEENTER, 0, 0);
inherited MouseEnter(AControl);
end;
procedure TJvExCustomGrid.MouseLeave(AControl: TControl);
begin
Perform(CM_MOUSELEAVE, 0, 0);
inherited MouseLeave(AControl);
end;
procedure TJvExCustomGrid.ParentColorChanged;
begin
inherited ParentColorChanged;
if Assigned(FOnParentColorChanged) then
FOnParentColorChanged(Self);
end;
procedure TJvExCustomGrid.SetDesktopFont(Value: Boolean);
begin
if FDesktopFont <> Value then
begin
FDesktopFont := Value;
Perform(CM_SYSFONTCHANGED, 0, 0);
end;
end;
procedure TJvExCustomGrid.Dispatch(var Mesg);
begin
if Assigned(FWindowProc) then
FWindowProc(TMessage(Mesg))
else
inherited Dispatch(Mesg);
end;
function TJvExCustomGrid.Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
var
Mesg: TMessage;
begin
Mesg.Msg := Msg;
Mesg.WParam := WParam;
Mesg.LParam := LParam;
Mesg.Result := 0;
Dispatch(Mesg);
Result := Mesg.Result;
end;
function TJvExCustomGrid.IsRightToLeft: Boolean;
begin
Result := False;
end;
function TJvExDrawGrid.GetEditStyle(ACol, ARow: Longint): TEditStyle;
begin
Result := esSimple;
end;
{ QControl Create }
constructor TJvExDrawGrid.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FHintColor := clDefault;
FWindowProc := WndProc;
end;
destructor TJvExDrawGrid.Destroy;
begin
inherited Destroy;
end;
procedure TJvExDrawGrid.WndProc(var Mesg: TMessage);
begin
//OutputDebugString(PAnsiChar(Format('JV_CONTROL %s: %s Msg $%x',[Name, ClassName, Mesg.Msg])));
with TJvMessage(Mesg) do
begin
case Msg of
{ Control Messages }
CM_FOCUSCHANGED: FocusChanged;
CM_MOUSEENTER: FMouseOver := True;
CM_MOUSELEAVE: FMouseOver := False;
CM_HINTSHOW:
case FHintColor of
clNone : HintInfo^.HintColor := Application.HintColor;
clDefault: HintInfo^.HintColor := GetHintColor(Parent);
else
HintInfo^.HintColor := FHintcolor;
end;
end;
end;
inherited Dispatch(Mesg);
end;
procedure TJvExDrawGrid.CMHitTest(var Mesg: TJvMessage);
begin
with Mesg do
begin
Handled := inherited HitTest(XPos, YPos);
if Handled then
Result := HTCLIENT;
end;
end;
procedure TJvExDrawGrid.ColorChanged;
begin
Perform(CM_COLORCHANGED, 0, 0);
inherited ColorChanged;
end;
procedure TJvExDrawGrid.FontChanged;
begin
Perform(CM_FONTCHANGED, 0, 0);
inherited FontChanged;
end;
procedure TJvExDrawGrid.FocusChanged;
begin
{ notification }
end;
{ QControl Common}
function TJvExDrawGrid.HitTest(X, Y: integer): Boolean;
begin
Result := Perform(CM_HITTEST, 0, 0) <> HTNOWHERE;
end;
procedure TJvExDrawGrid.CMHintShow(var Mesg: TJvMessage);
begin
with Mesg do
begin
Handled := inherited HintShow(HintInfo^);
end;
end;
procedure TJvExDrawGrid.CMSysFontChanged(var Mesg: TMessage);
begin
if FDesktopFont then
begin
Font.Assign(Application.Font);
FDesktopFont := True;
end;
end;
procedure TJvExDrawGrid.EnabledChanged;
begin
Perform(CM_ENABLEDCHANGED, 0, 0);
inherited EnabledChanged;
end;
procedure TJvExDrawGrid.TextChanged;
begin
Perform(CM_TEXTCHANGED, 0, 0);
inherited TextChanged;
end;
procedure TJvExDrawGrid.VisibleChanged;
begin
Perform(CM_VISIBLECHANGED, 0, 0);
inherited VisibleChanged;
end;
function TJvExDrawGrid.HintShow(var HintInfo : THintInfo): Boolean;
begin
Result := Perform(CM_HINTSHOW, 0, Integer(@HintInfo)) <> 0;
end;
procedure TJvExDrawGrid.MouseEnter(AControl: TControl);
begin
Perform(CM_MOUSEENTER, 0, 0);
inherited MouseEnter(AControl);
end;
procedure TJvExDrawGrid.MouseLeave(AControl: TControl);
begin
Perform(CM_MOUSELEAVE, 0, 0);
inherited MouseLeave(AControl);
end;
procedure TJvExDrawGrid.ParentColorChanged;
begin
inherited ParentColorChanged;
if Assigned(FOnParentColorChanged) then
FOnParentColorChanged(Self);
end;
procedure TJvExDrawGrid.SetDesktopFont(Value: Boolean);
begin
if FDesktopFont <> Value then
begin
FDesktopFont := Value;
Perform(CM_SYSFONTCHANGED, 0, 0);
end;
end;
procedure TJvExDrawGrid.Dispatch(var Mesg);
begin
if Assigned(FWindowProc) then
FWindowProc(TMessage(Mesg))
else
inherited Dispatch(Mesg);
end;
function TJvExDrawGrid.Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
var
Mesg: TMessage;
begin
Mesg.Msg := Msg;
Mesg.WParam := WParam;
Mesg.LParam := LParam;
Mesg.Result := 0;
Dispatch(Mesg);
Result := Mesg.Result;
end;
function TJvExDrawGrid.IsRightToLeft: Boolean;
begin
Result := False;
end;
function TJvExStringGrid.GetEditStyle(ACol, ARow: Longint): TEditStyle;
begin
Result := esSimple;
end;
{ QControl Create }
constructor TJvExStringGrid.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FHintColor := clDefault;
FWindowProc := WndProc;
end;
destructor TJvExStringGrid.Destroy;
begin
inherited Destroy;
end;
procedure TJvExStringGrid.WndProc(var Mesg: TMessage);
begin
//OutputDebugString(PAnsiChar(Format('JV_CONTROL %s: %s Msg $%x',[Name, ClassName, Mesg.Msg])));
with TJvMessage(Mesg) do
begin
case Msg of
{ Control Messages }
CM_FOCUSCHANGED: FocusChanged;
CM_MOUSEENTER: FMouseOver := True;
CM_MOUSELEAVE: FMouseOver := False;
CM_HINTSHOW:
case FHintColor of
clNone : HintInfo^.HintColor := Application.HintColor;
clDefault: HintInfo^.HintColor := GetHintColor(Parent);
else
HintInfo^.HintColor := FHintcolor;
end;
end;
end;
inherited Dispatch(Mesg);
end;
procedure TJvExStringGrid.CMHitTest(var Mesg: TJvMessage);
begin
with Mesg do
begin
Handled := inherited HitTest(XPos, YPos);
if Handled then
Result := HTCLIENT;
end;
end;
procedure TJvExStringGrid.ColorChanged;
begin
Perform(CM_COLORCHANGED, 0, 0);
inherited ColorChanged;
end;
procedure TJvExStringGrid.FontChanged;
begin
Perform(CM_FONTCHANGED, 0, 0);
inherited FontChanged;
end;
procedure TJvExStringGrid.FocusChanged;
begin
{ notification }
end;
{ QControl Common}
function TJvExStringGrid.HitTest(X, Y: integer): Boolean;
begin
Result := Perform(CM_HITTEST, 0, 0) <> HTNOWHERE;
end;
procedure TJvExStringGrid.CMHintShow(var Mesg: TJvMessage);
begin
with Mesg do
begin
Handled := inherited HintShow(HintInfo^);
end;
end;
procedure TJvExStringGrid.CMSysFontChanged(var Mesg: TMessage);
begin
if FDesktopFont then
begin
Font.Assign(Application.Font);
FDesktopFont := True;
end;
end;
procedure TJvExStringGrid.EnabledChanged;
begin
Perform(CM_ENABLEDCHANGED, 0, 0);
inherited EnabledChanged;
end;
procedure TJvExStringGrid.TextChanged;
begin
Perform(CM_TEXTCHANGED, 0, 0);
inherited TextChanged;
end;
procedure TJvExStringGrid.VisibleChanged;
begin
Perform(CM_VISIBLECHANGED, 0, 0);
inherited VisibleChanged;
end;
function TJvExStringGrid.HintShow(var HintInfo : THintInfo): Boolean;
begin
Result := Perform(CM_HINTSHOW, 0, Integer(@HintInfo)) <> 0;
end;
procedure TJvExStringGrid.MouseEnter(AControl: TControl);
begin
Perform(CM_MOUSEENTER, 0, 0);
inherited MouseEnter(AControl);
end;
procedure TJvExStringGrid.MouseLeave(AControl: TControl);
begin
Perform(CM_MOUSELEAVE, 0, 0);
inherited MouseLeave(AControl);
end;
procedure TJvExStringGrid.ParentColorChanged;
begin
inherited ParentColorChanged;
if Assigned(FOnParentColorChanged) then
FOnParentColorChanged(Self);
end;
procedure TJvExStringGrid.SetDesktopFont(Value: Boolean);
begin
if FDesktopFont <> Value then
begin
FDesktopFont := Value;
Perform(CM_SYSFONTCHANGED, 0, 0);
end;
end;
procedure TJvExStringGrid.Dispatch(var Mesg);
begin
if Assigned(FWindowProc) then
FWindowProc(TMessage(Mesg))
else
inherited Dispatch(Mesg);
end;
function TJvExStringGrid.Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
var
Mesg: TMessage;
begin
Mesg.Msg := Msg;
Mesg.WParam := WParam;
Mesg.LParam := LParam;
Mesg.Result := 0;
Dispatch(Mesg);
Result := Mesg.Result;
end;
function TJvExStringGrid.IsRightToLeft: Boolean;
begin
Result := False;
end;
{$IFDEF UNITVERSIONING}
const
UnitVersioning: TUnitVersionInfo = (
RCSfile: '$RCSfile: JvQExGrids.pas,v $';
Revision: '$Revision: 1.32 $';
Date: '$Date: 2005/02/06 14:06:10 $';
LogPath: 'JVCL\qrun'
);
initialization
RegisterUnitVersion(HInstance, UnitVersioning);
finalization
UnregisterUnitVersion(HInstance);
{$ENDIF UNITVERSIONING}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -