Với Delphi cho Windows, tôi thường sử dụng mã này:Làm cách nào để nhận trạng thái sửa đổi hiện tại bằng FireMonkey trên OSX?
function isCtrlDown : Boolean;
var
ksCurrent : TKeyboardState;
begin
GetKeyboardState(ksCurrent);
Result := ((ksCurrent[VK_CONTROL] and 128) <> 0);
end;
Làm thế nào tôi có thể đạt được điều này với FireMonkey trên Mac OSX?
Tôi đã tìm thấy this, nhưng tôi không biết làm thế nào để quản lý nó với FireMonkey/Delphi (trong đó sử dụng, ...):
void PlatformKeyboardEvent::getCurrentModifierState(bool& shiftKey, bool& ctrlKey, bool& altKey, bool& metaKey)
{
UInt32 currentModifiers = GetCurrentKeyModifiers();
shiftKey = currentModifiers & ::shiftKey;
ctrlKey = currentModifiers & ::controlKey;
altKey = currentModifiers & ::optionKey;
metaKey = currentModifiers & ::cmdKey;
}
tôi vẫn đang điều tra ... Đối bây giờ, tôi có tìm thấy đơn vị này với sự kiện chính thứ ... unit Macapi.AppKit;
Cả hai giải pháp được đăng trong giấc ngủ của tôi đang làm việc. Xin lỗi, tôi đã chấp nhận cái khác vì nó đã được đăng vài phút trước đó ... rất khó để lựa chọn giữa hai người. BTW, bạn nhận được +1 – Whiler
Cảm ơn Whiler, +1 từ tôi cũng là Giel –