[Lazarus] Forms.pp function error?

2018-10-26 Thread AlexeyT via Lazarus
As pointed by Dmitry B, and checked by myself in LCL, MK_ALT must be 
defined in LCLType.pp as $2000. For ex, this is sample from 
qtwidgets.pas:


  if (ModifierState and MK_SHIFT) <> 0 then
    Msg.State := [ssShift];
  if (ModifierState and MK_CONTROL) <> 0 then
    Msg.State := [ssCtrl] + Msg.State;
  if (ModifierState and $2000) <> 0 then
    Msg.State := [ssAlt] + Msg.State;

patch added.

--
Regards,
Alexey

Index: lcl/lcltype.pp
===
--- lcl/lcltype.pp	(revision 59355)
+++ lcl/lcltype.pp	(working copy)
@@ -2836,6 +2836,7 @@
   MK_DOUBLECLICK = $80;
   MK_TRIPLECLICK = $100;
   MK_QUADCLICK = $200;
+  MK_ALT = $2000; // used (as number) by several widgetsets
 
 //==
 // Constants from commctrl
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Forms.pp function error?

2018-10-16 Thread AlexeyT via Lazarus

Value $400 makes sense.
And also this must be changed then:
function KeysToShiftState(Keys: PtrUInt): TShiftState;
it uses same constants.

Alex
--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Forms.pp function error?

2018-10-16 Thread Michael Van Canneyt via Lazarus



On Tue, 16 Oct 2018, AlexeyT via Lazarus wrote:



On 16.10.2018 09:56, Michael Van Canneyt via Lazarus wrote:

There does not need to be if there is no corresponding MK_nnn value ?
What would be the MK_nnn value for ssAlt ? 


We can  add in, LCLType.pp:

const
  // Mouse message key states
  MK_LBUTTON  = 1;
  MK_RBUTTON = 2;
  MK_SHIFT = 4;
  MK_CONTROL = 8;
  MK_MBUTTON = $10;
  MK_XBUTTON1 = $20;
  MK_XBUTTON2 = $40;
  // following are "virtual" key states
  MK_DOUBLECLICK = $80;
  MK_TRIPLECLICK = $100;
  MK_QUADCLICK = $200;


I understand that, but what additional value makes sense ?

Michael.-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Forms.pp function error?

2018-10-16 Thread AlexeyT via Lazarus


On 16.10.2018 09:56, Michael Van Canneyt via Lazarus wrote:

There does not need to be if there is no corresponding MK_nnn value ?
What would be the MK_nnn value for ssAlt ? 


We can  add in, LCLType.pp:

const
  // Mouse message key states
  MK_LBUTTON  = 1;
  MK_RBUTTON = 2;
  MK_SHIFT = 4;
  MK_CONTROL = 8;
  MK_MBUTTON = $10;
  MK_XBUTTON1 = $20;
  MK_XBUTTON2 = $40;
  // following are "virtual" key states
  MK_DOUBLECLICK = $80;
  MK_TRIPLECLICK = $100;
  MK_QUADCLICK = $200;

--

Regards,
Alexey

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


[Lazarus] Forms.pp function error?

2018-10-16 Thread AlexeyT via Lazarus

function ShiftStateToKeys(ShiftState: TShiftState): PtrUInt;
begin
  Result := 0;
  if ssShift  in ShiftState then Result := Result or MK_SHIFT;
  if ssCtrl   in ShiftState then Result := Result or MK_CONTROL;
  if ssLeft   in ShiftState then Result := Result or MK_LBUTTON;
  if ssRight  in ShiftState then Result := Result or MK_RBUTTON;
  if ssMiddle in ShiftState then Result := Result or MK_MBUTTON;
  if ssExtra1 in ShiftState then Result := Result or MK_XBUTTON1;
  if ssExtra2 in ShiftState then Result := Result or MK_XBUTTON2;
  if ssDouble in ShiftState then Result := Result or MK_DOUBLECLICK;
  if ssTriple in ShiftState then Result := Result or MK_TRIPLECLICK;
  if ssQuad   in ShiftState then Result := Result or MK_QUADCLICK;
end;

I don't see here "if ssAlt in " line

--
Regards,
Alexey

--
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus