mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 18:19:08 +02:00
added SysKey messages to gtk intf and LCL
git-svn-id: trunk@6312 -
This commit is contained in:
parent
83f7725cc0
commit
2679c1cd94
@ -1415,15 +1415,21 @@ type
|
|||||||
procedure WMExit(var Message: TLMExit); message LM_EXIT;
|
procedure WMExit(var Message: TLMExit); message LM_EXIT;
|
||||||
procedure WMMouseWheel(var Message: TLMMouseEvent); message LM_MOUSEWHEEL;
|
procedure WMMouseWheel(var Message: TLMMouseEvent); message LM_MOUSEWHEEL;
|
||||||
procedure WMKeyDown(var Message: TLMKeyDown); message LM_KEYDOWN;
|
procedure WMKeyDown(var Message: TLMKeyDown); message LM_KEYDOWN;
|
||||||
|
procedure WMSysKeyDown(var Message: TLMKeyDown); message LM_SYSKEYDOWN;
|
||||||
procedure WMKeyUp(var Message: TLMKeyUp); message LM_KEYUP;
|
procedure WMKeyUp(var Message: TLMKeyUp); message LM_KEYUP;
|
||||||
|
procedure WMSysKeyUp(var Message: TLMKeyUp); message LM_SYSKEYUP;
|
||||||
procedure WMChar(var Message: TLMChar); message LM_CHAR;
|
procedure WMChar(var Message: TLMChar); message LM_CHAR;
|
||||||
|
procedure WMSysChar(var Message: TLMChar); message LM_SYSCHAR;
|
||||||
procedure WMPaint(var Msg: TLMPaint); message LM_PAINT;
|
procedure WMPaint(var Msg: TLMPaint); message LM_PAINT;
|
||||||
procedure WMDestroy(var Message: TLMDestroy); message LM_DESTROY;
|
procedure WMDestroy(var Message: TLMDestroy); message LM_DESTROY;
|
||||||
procedure WMMove(var Message: TLMMove); message LM_MOVE;
|
procedure WMMove(var Message: TLMMove); message LM_MOVE;
|
||||||
procedure WMSize(var Message: TLMSize); message LM_SIZE;
|
procedure WMSize(var Message: TLMSize); message LM_SIZE;
|
||||||
procedure CNKeyDown(var Message: TLMKeyDown); message CN_KEYDOWN;
|
procedure CNKeyDown(var Message: TLMKeyDown); message CN_KEYDOWN;
|
||||||
|
procedure CNSysKeyDown(var Message: TLMKeyDown); message CN_SYSKEYDOWN;
|
||||||
procedure CNKeyUp(var Message: TLMKeyUp); message CN_KEYUP;
|
procedure CNKeyUp(var Message: TLMKeyUp); message CN_KEYUP;
|
||||||
|
procedure CNSysKeyUp(var Message: TLMKeyUp); message CN_SYSKEYUP;
|
||||||
procedure CNChar(var Message: TLMKeyUp); message CN_CHAR;
|
procedure CNChar(var Message: TLMKeyUp); message CN_CHAR;
|
||||||
|
procedure CNSysChar(var Message: TLMKeyUp); message CN_SYSCHAR;
|
||||||
protected
|
protected
|
||||||
// drag and drop
|
// drag and drop
|
||||||
procedure DoAddDockClient(Client: TControl; const ARect: TRect); dynamic;
|
procedure DoAddDockClient(Client: TControl; const ARect: TRect); dynamic;
|
||||||
@ -1447,6 +1453,7 @@ type
|
|||||||
function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; dynamic;
|
function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; dynamic;
|
||||||
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; dynamic;
|
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; dynamic;
|
||||||
function DoKeyDown(var Message: TLMKey): Boolean;
|
function DoKeyDown(var Message: TLMKey): Boolean;
|
||||||
|
function DoRemainginKeyDown(var Message: TLMKeyDown): Boolean;
|
||||||
function DoKeyPress(var Message: TLMKey): Boolean;
|
function DoKeyPress(var Message: TLMKey): Boolean;
|
||||||
function DoUTF8KeyPress(var UTF8Key: TUTF8Char): boolean; dynamic;
|
function DoUTF8KeyPress(var UTF8Key: TUTF8Char): boolean; dynamic;
|
||||||
function DoKeyUp(var Message: TLMKey): Boolean;
|
function DoKeyUp(var Message: TLMKey): Boolean;
|
||||||
@ -2496,6 +2503,9 @@ end.
|
|||||||
{ =============================================================================
|
{ =============================================================================
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.257 2004/11/29 01:12:36 mattias
|
||||||
|
added SysKey messages to gtk intf and LCL
|
||||||
|
|
||||||
Revision 1.256 2004/11/05 22:08:53 mattias
|
Revision 1.256 2004/11/05 22:08:53 mattias
|
||||||
implemented auto sizing: child to parent sizing
|
implemented auto sizing: child to parent sizing
|
||||||
|
|
||||||
|
@ -2304,6 +2304,39 @@ begin
|
|||||||
Result := False;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
TWinControl DoRemainginKeyDown
|
||||||
|
|
||||||
|
Returns True if key handled
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function TWinControl.DoRemainginKeyDown(var Message: TLMKeyDown): Boolean;
|
||||||
|
var
|
||||||
|
ShiftState: TShiftState;
|
||||||
|
begin
|
||||||
|
Result:=true;
|
||||||
|
|
||||||
|
ShiftState := KeyDataToShiftState(Message.KeyData);
|
||||||
|
|
||||||
|
// handle LCL special keys
|
||||||
|
ControlKeyDown(Message.CharCode,ShiftState);
|
||||||
|
if Message.CharCode=VK_UNKNOWN then exit;
|
||||||
|
|
||||||
|
//DebugLn('TWinControl.WMKeyDown ',Name,':',ClassName);
|
||||||
|
if not (csNoStdEvents in ControlStyle) then
|
||||||
|
begin
|
||||||
|
KeyDownAfterInterface(Message.CharCode, ShiftState);
|
||||||
|
if Message.CharCode=VK_UNKNOWN then exit;
|
||||||
|
// Note: Message.CharCode can now be different or even 0
|
||||||
|
end;
|
||||||
|
|
||||||
|
// let application handle the remaining key
|
||||||
|
if Application<>nil then
|
||||||
|
Application.NotifyKeyDownHandler(Self, Message.CharCode, ShiftState);
|
||||||
|
if Message.CharCode = VK_UNKNOWN then Exit;
|
||||||
|
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
TWinControl DoKeyPress
|
TWinControl DoKeyPress
|
||||||
|
|
||||||
@ -3180,6 +3213,22 @@ begin
|
|||||||
if not DoKeyDown(Message) then {inherited}; // there is nothing to inherit
|
if not DoKeyDown(Message) then {inherited}; // there is nothing to inherit
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
procedure TWinControl.CNSysKeyDown(var Message: TLMKeyDown);
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TWinControl.CNSysKeyDown(var Message: TLMKeyDown);
|
||||||
|
begin
|
||||||
|
if not DoKeyDown(Message) then {inherited}; // there is nothing to inherit
|
||||||
|
end;
|
||||||
|
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
procedure TWinControl.CNSysKeyUp(var Message: TLMKeyUp);
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TWinControl.CNSysKeyUp(var Message: TLMKeyUp);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Method: TWinControl.CNKeyUp
|
Method: TWinControl.CNKeyUp
|
||||||
Params: Msg: The message
|
Params: Msg: The message
|
||||||
@ -3198,7 +3247,7 @@ end;
|
|||||||
Returns: nothing
|
Returns: nothing
|
||||||
|
|
||||||
event handler.
|
event handler.
|
||||||
WMChar is sent by the interface befor it has handled the keypress by itself.
|
CNChar is sent by the interface before it has handled the keypress itself.
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TWinControl.CNChar(var Message: TLMKeyUp);
|
procedure TWinControl.CNChar(var Message: TLMKeyUp);
|
||||||
var
|
var
|
||||||
@ -3224,6 +3273,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TWinControl.CNSysChar(var Message: TLMKeyUp);
|
||||||
|
begin
|
||||||
|
if not DoKeyPress(Message) then {inherited}; // there is nothing to inherit
|
||||||
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Method: TWinControl.WMNofity
|
Method: TWinControl.WMNofity
|
||||||
Params: Msg: The message
|
Params: Msg: The message
|
||||||
@ -3324,6 +3378,11 @@ begin
|
|||||||
Assert(False, Format('Trace:[TWinControl.WMChar] %s', [ClassName]));
|
Assert(False, Format('Trace:[TWinControl.WMChar] %s', [ClassName]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TWinControl.WMSysChar(var Message: TLMChar);
|
||||||
|
begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Method: TWinControl.WMKeyDown
|
Method: TWinControl.WMKeyDown
|
||||||
Params: Msg: The message
|
Params: Msg: The message
|
||||||
@ -3332,27 +3391,21 @@ end;
|
|||||||
Event handler for keys not handled by the interface
|
Event handler for keys not handled by the interface
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
Procedure TWinControl.WMKeyDown(Var Message: TLMKeyDown);
|
Procedure TWinControl.WMKeyDown(Var Message: TLMKeyDown);
|
||||||
var
|
|
||||||
ShiftState: TShiftState;
|
|
||||||
begin
|
begin
|
||||||
ShiftState := KeyDataToShiftState(Message.KeyData);
|
DoRemainginKeyDown(Message);
|
||||||
|
end;
|
||||||
|
|
||||||
// handle LCL special keys
|
procedure TWinControl.WMSysKeyDown(var Message: TLMKeyDown);
|
||||||
ControlKeyDown(Message.CharCode,ShiftState);
|
begin
|
||||||
if Message.CharCode=VK_UNKNOWN then exit;
|
DoRemainginKeyDown(Message);
|
||||||
|
end;
|
||||||
|
|
||||||
//DebugLn('TWinControl.WMKeyDown ',Name,':',ClassName);
|
{------------------------------------------------------------------------------
|
||||||
if not (csNoStdEvents in ControlStyle) then
|
procedure TWinControl.WMSysKeyUp(var Message: TLMKeyUp);
|
||||||
begin
|
------------------------------------------------------------------------------}
|
||||||
KeyDownAfterInterface(Message.CharCode, ShiftState);
|
procedure TWinControl.WMSysKeyUp(var Message: TLMKeyUp);
|
||||||
if Message.CharCode=VK_UNKNOWN then exit;
|
begin
|
||||||
// Note: Message.CharCode can now be different or even 0
|
if not DoKeyUp(Message) then {inherited}; // there is nothing to inherit
|
||||||
end;
|
|
||||||
|
|
||||||
// let application handle the remaining key
|
|
||||||
if Application<>nil then
|
|
||||||
Application.NotifyKeyDownHandler(Self, Message.CharCode, ShiftState);
|
|
||||||
if Message.CharCode = VK_UNKNOWN then Exit;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
@ -3364,7 +3417,6 @@ end;
|
|||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
Procedure TWinControl.WMKeyUp(Var Message: TLMKeyUp);
|
Procedure TWinControl.WMKeyUp(Var Message: TLMKeyUp);
|
||||||
Begin
|
Begin
|
||||||
Assert(False, Format('Trace:[TWinControl.WMKeyUp] %s', [ClassName]));
|
|
||||||
if not DoKeyUp(Message) then {inherited}; // there is nothing to inherit
|
if not DoKeyUp(Message) then {inherited}; // there is nothing to inherit
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4128,6 +4180,9 @@ end;
|
|||||||
{ =============================================================================
|
{ =============================================================================
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.291 2004/11/29 01:12:36 mattias
|
||||||
|
added SysKey messages to gtk intf and LCL
|
||||||
|
|
||||||
Revision 1.290 2004/11/28 01:03:26 mattias
|
Revision 1.290 2004/11/28 01:03:26 mattias
|
||||||
do not send OnExit/OnEnter during destroy, design or loading
|
do not send OnExit/OnEnter during destroy, design or loading
|
||||||
|
|
||||||
|
@ -2098,14 +2098,14 @@ begin
|
|||||||
|
|
||||||
Msg.CharCode := VKey.VKey;
|
Msg.CharCode := VKey.VKey;
|
||||||
if BeforeEvent then begin
|
if BeforeEvent then begin
|
||||||
//if SysKey then
|
if SysKey then
|
||||||
// Msg.msg := CN_SYSKEYUP
|
Msg.msg := CN_SYSKEYUP
|
||||||
//else
|
else
|
||||||
Msg.msg := CN_KEYUP;
|
Msg.msg := CN_KEYUP;
|
||||||
end else begin
|
end else begin
|
||||||
//if SysKey then
|
if SysKey then
|
||||||
// Msg.msg := LM_SYSKEYUP
|
Msg.msg := LM_SYSKEYUP
|
||||||
//else
|
else
|
||||||
Msg.msg := LM_KEYUP;
|
Msg.msg := LM_KEYUP;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2134,14 +2134,14 @@ begin
|
|||||||
Msg.CharCode := VKey.VKey;
|
Msg.CharCode := VKey.VKey;
|
||||||
|
|
||||||
if BeforeEvent then begin
|
if BeforeEvent then begin
|
||||||
//if SysKey then
|
if SysKey then
|
||||||
// Msg.msg := CN_SYSKEYDOWN
|
Msg.msg := CN_SYSKEYDOWN
|
||||||
//else
|
else
|
||||||
Msg.msg := CN_KEYDOWN;
|
Msg.msg := CN_KEYDOWN;
|
||||||
end else begin
|
end else begin
|
||||||
//if SysKey then
|
if SysKey then
|
||||||
// Msg.msg := LM_SYSKEYDOWN
|
Msg.msg := LM_SYSKEYDOWN
|
||||||
//else
|
else
|
||||||
Msg.msg := LM_KEYDOWN;
|
Msg.msg := LM_KEYDOWN;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2185,14 +2185,14 @@ begin
|
|||||||
Msg.KeyData := CommonKeyData;
|
Msg.KeyData := CommonKeyData;
|
||||||
|
|
||||||
if BeforeEvent then begin
|
if BeforeEvent then begin
|
||||||
//if SysKey then
|
if SysKey then
|
||||||
// Msg.msg := CN_SYSCHAR
|
Msg.msg := CN_SYSCHAR
|
||||||
//else
|
else
|
||||||
Msg.msg := CN_CHAR
|
Msg.msg := CN_CHAR
|
||||||
end else begin
|
end else begin
|
||||||
//if SysKey then
|
if SysKey then
|
||||||
// Msg.msg := LM_SYSCHAR
|
Msg.msg := LM_SYSCHAR
|
||||||
//else
|
else
|
||||||
Msg.msg := LM_CHAR;
|
Msg.msg := LM_CHAR;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -7884,6 +7884,9 @@ end;
|
|||||||
{ =============================================================================
|
{ =============================================================================
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.323 2004/11/29 01:12:36 mattias
|
||||||
|
added SysKey messages to gtk intf and LCL
|
||||||
|
|
||||||
Revision 1.322 2004/11/28 00:55:44 mattias
|
Revision 1.322 2004/11/28 00:55:44 mattias
|
||||||
deactivated sending SYSKey messages in gtk intf - they are not used anyway
|
deactivated sending SYSKey messages in gtk intf - they are not used anyway
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user