2015-05-18 59 views
3

我正在使用以下代碼將本機NSTextField添加到OSX中的Delphi FMX表單中。文本框已被添加並且效果很好,除了系統默認的對焦環效果(用戶選擇文本框之外的藍色邊框)丟失時。 (用XE8和OSX10.9,10.10測試)。在OSX中使用Delphi FMX時缺少聚焦環效果

enter image description here

我想這是德爾福/ FMX如何實現OSX下的TForm的造成的,因爲這個系統對焦環的效果似乎繪製控制自我之外。 Delphi窗體可能會有一些特殊的設置來「防止」系統錯誤地在這個窗體上繪製這個效果,我嘗試了NSTextField的所有相關設置,但都沒有成功。

uses MacApi.AppKit; 

procedure TForm1.AddNSTextField; 
var 
    tf: NSTextField; 
    vw: NSView; 
    r: NSRect; 
begin 
    vw := (WindowHandleToPlatform(Form1.Handle)).View; 
    if Assigned(vw) then 
    begin 
    r.origin.x := 10; 
    r.origin.y := 30; 
    r.size.width := 300; 
    r.size.height := 22; 
    tf := TNSTextField.Wrap(TNSTextField.Wrap(TNSTextField.OCClass.alloc).initWithFrame(r)); 
    vi.addSubview(tf); 
    //tf.setFocusRingType(0); //Also tried to manually set but no use. 
    tf.setStringValue(NSStr('Untitled')); 
    end; 
end; 

任何人都可以幫忙嗎?謝謝。

回答

1

請注意,所有繪圖效果在XE8和Mac OS X 10.10(xcode 6.3)下都無法正常工作。請指教。

+0

什麼樣的繪圖效果不工作,除了聚焦環?你有沒有試過XE7?實際上,我們發現OS X 10.9下的NSCombobox具有聚焦環效果,但只有這一個,很奇怪 – Erik