mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-07 22:56:46 +02:00
cocoa: implement GetFocus, SetFocus
git-svn-id: trunk@34308 -
This commit is contained in:
parent
c59a98a83e
commit
e63a0d80b5
@ -1056,6 +1056,19 @@ begin
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCocoaWidgetSet.GetFocus: HWND;
|
||||||
|
var
|
||||||
|
Obj: NSObject;
|
||||||
|
begin
|
||||||
|
Result := HWND(NSApp.keyWindow);
|
||||||
|
if Result <> 0 then
|
||||||
|
begin
|
||||||
|
Obj := NSWindow(Result).firstResponder;
|
||||||
|
if Assigned(Obj) and Obj.isKindOfClass(NSView) then
|
||||||
|
Result := HWND(Obj);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TCocoaWidgetSet.GetForegroundWindow: HWND;
|
function TCocoaWidgetSet.GetForegroundWindow: HWND;
|
||||||
//var
|
//var
|
||||||
// App: NSRunningApplication;
|
// App: NSRunningApplication;
|
||||||
@ -1236,6 +1249,29 @@ begin
|
|||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCocoaWidgetSet.SetFocus(Handle: HWND): HWND;
|
||||||
|
var
|
||||||
|
Obj: NSObject;
|
||||||
|
begin
|
||||||
|
if Handle <> 0 then
|
||||||
|
begin
|
||||||
|
if Result = Handle then
|
||||||
|
Exit;
|
||||||
|
Obj := NSObject(Handle);
|
||||||
|
if Obj.isKindOfClass(NSWindow) then
|
||||||
|
begin
|
||||||
|
NSWindow(Obj).makeKeyWindow;
|
||||||
|
NSWindow(Obj).makeFirstResponder(nil);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if Obj.isKindOfClass(NSView) then
|
||||||
|
begin
|
||||||
|
NSView(Obj).window.makeKeyWindow;
|
||||||
|
NSView(Obj).window.makeFirstResponder(NSView(Obj));
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TCocoaWidgetSet.SetForegroundWindow(HWnd: HWND): boolean;
|
function TCocoaWidgetSet.SetForegroundWindow(HWnd: HWND): boolean;
|
||||||
var
|
var
|
||||||
Obj: NSObject;
|
Obj: NSObject;
|
||||||
|
@ -103,8 +103,8 @@ function GetDC(hWnd: HWND): HDC; override;
|
|||||||
{function GetDCOriginRelativeToWindow(PaintDC: HDC; WindowHandle: HWND; var OriginDiff: TPoint): boolean; override;
|
{function GetDCOriginRelativeToWindow(PaintDC: HDC; WindowHandle: HWND; var OriginDiff: TPoint): boolean; override;
|
||||||
function GetDeviceCaps(DC: HDC; Index: Integer): Integer; override;
|
function GetDeviceCaps(DC: HDC; Index: Integer): Integer; override;
|
||||||
function GetDeviceSize(DC: HDC; var P: TPoint): Boolean; Override;
|
function GetDeviceSize(DC: HDC; var P: TPoint): Boolean; Override;
|
||||||
function GetDIBits(DC: HDC; Bitmap: HBitmap; StartScan, NumScans: UINT; Bits: Pointer; var BitInfo: BitmapInfo; Usage: UINT): Integer; Override;
|
function GetDIBits(DC: HDC; Bitmap: HBitmap; StartScan, NumScans: UINT; Bits: Pointer; var BitInfo: BitmapInfo; Usage: UINT): Integer; Override;}
|
||||||
function GetFocus: HWND; override;}
|
function GetFocus: HWND; override;
|
||||||
function GetForegroundWindow: HWND; override;
|
function GetForegroundWindow: HWND; override;
|
||||||
{function GetKeyState(nVirtKey: Integer): Smallint; override;}
|
{function GetKeyState(nVirtKey: Integer): Smallint; override;}
|
||||||
function GetMonitorInfo(hMonitor: HMONITOR; lpmi: PMonitorInfo): Boolean; override;
|
function GetMonitorInfo(hMonitor: HMONITOR; lpmi: PMonitorInfo): Boolean; override;
|
||||||
@ -172,7 +172,7 @@ function SetCaretPosEx(Handle: HWnd; X, Y: Integer): Boolean; override;
|
|||||||
function SetCaretRespondToFocus(handle: HWND; ShowHideOnFocus: boolean): Boolean; override;}
|
function SetCaretRespondToFocus(handle: HWND; ShowHideOnFocus: boolean): Boolean; override;}
|
||||||
function SetCursor(ACursor: HCURSOR): HCURSOR; override;
|
function SetCursor(ACursor: HCURSOR): HCURSOR; override;
|
||||||
function SetCursorPos(X, Y: Integer): Boolean; override;
|
function SetCursorPos(X, Y: Integer): Boolean; override;
|
||||||
{function SetFocus(hWnd: HWND): HWND; override;}
|
function SetFocus(Handle: HWND): HWND; override;
|
||||||
function SetForegroundWindow(HWnd: HWND): boolean; override;
|
function SetForegroundWindow(HWnd: HWND): boolean; override;
|
||||||
function SetProp(Handle: hwnd; Str: PChar; Data: Pointer) : Boolean; override;
|
function SetProp(Handle: hwnd; Str: PChar; Data: Pointer) : Boolean; override;
|
||||||
function SetROP2(DC: HDC; Mode: Integer): Integer; override;
|
function SetROP2(DC: HDC; Mode: Integer): Integer; override;
|
||||||
|
Loading…
Reference in New Issue
Block a user