[Lazarus] how to handle Shift=[ssCtrl]
FreeMan
freeman35 at delphiturkiye.com
Thu Apr 2 21:19:41 CEST 2015
constant name are wrong I think,
ssMeta -> ctrl key
ssCtrl -> cmd (command) key
fpc r30400 lazarus r48594 on yosemite qt x64
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssCtrl]then
ShowMessage('ssCtrl(command key) pressed');
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssMeta]then
ShowMessage('ssMeta(ctrl key) pressed');
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssMeta,ssShift]then
ShowMessage('ssShift + ssMeta(ctrl key) pressed');
if Shift * [ssShift, ssAlt, ssCtrl, ssMeta] = [ssCtrl,ssAlt]then
ShowMessage('ssAlt + ssCtrl(command key) pressed');
On 2.04.2015 18:34, Graeme Geldenhuys wrote:
> On 2015-04-02 15:33, FreeMan wrote:
>> Yes your code is working and hold ssShift, just change ssShift to
>> ssCtrl, and not work, I mean not show any message.
> I tested here by changing ssShift to ssCtrl and it works perfectly.
>
> if (Shift*[ssShift,ssAlt,ssCtrl]) = [ssCtrl] then
> ShowMessage('really, only Ctrl was pressed');
> if Shift * [ssShift,ssAlt,ssCtrl] = [ssShift,ssCtrl] then
> ShowMessage('Only Shift+Ctrl was pressed');
> if ssCtrl in Shift then
> ShowMessage('Ctrl could have been pressed with ssAlt or ssShift for
> example');
>
>
>> What is your test system ?
> 64-bit FreeBSD with LCL-GTK2
>
>
>
>> I wrote in first message, yosemite qt x64.
> If it doesn't work on your system, then it must be another bug in LCL.
> You should then file a bug report on Mantis. I suggest you also supply
> the test code above.
>
>
>
> Regards,
> - Graeme -
>
More information about the Lazarus
mailing list