Ich möchte die ganzen Preferences der Fensterpositionen und Größen OS X überlassen.
Es gibt zwar Threads darüber, die führen aber zu keinem Ergebnis für 32bit und 64 bit…
Also, wie kann ich die von OS X speichern lassen??
Ich möchte die ganzen Preferences der Fensterpositionen und Größen OS X überlassen.
Es gibt zwar Threads darüber, die führen aber zu keinem Ergebnis für 32bit und 64 bit…
Also, wie kann ich die von OS X speichern lassen??
Ungetestet mal so dahingetippt:
Declare Sub saveFrameUsingName lib "AppKit.framework" selector "saveFrameUsingName:" (Id as Integer, name as CFStringRef)
Declare Function setFrameUsingName lib "AppKit.framework" selector "setFrameUsingName:" (id as Integer, name as CFStringRef) As Boolean
Speichern also
saveFrameUsingName (mywindow.handle, "SpeicherName")
Und laden mittels
if setFrameUsingName(myWindow.handle, "SpeicherName") then
// Hat geklappt
End if
Funktioniert das alte nicht mehr ?
Window.Open
#if TargetCocoa then
Declare function setFrameAutosaveName lib "cocoa" selector _
"setFrameAutosaveName:" ( NSWindowHandle as integer, AutosaveName as _
CFStringRef ) as boolean
call setFrameAutosaveName( me.Handle, App.ExecutableFile.Name)
#endif
Oh ja! Hatte ich auch gesucht, mich aber davon irritieren lassen, dass in der Dokumentation nur ein {get} in der Dokumentation steht. Ist aber nach wie vor eine Property.
Wobei das in meinen Augen echt irreführend ist:
[quote]Declaration
@property(readonly, copy) NSWindowFrameAutosaveName frameAutosaveName;
Discussion
Assigning a value to this property reloads the associated frame, which can result in moving the window to that frame’s location.[/quote]
[quote=363767:@Axel Schneider]Funktioniert das alte nicht mehr ?
Window.Open
#if TargetCocoa then
Declare function setFrameAutosaveName lib "cocoa" selector _
"setFrameAutosaveName:" ( NSWindowHandle as integer, AutosaveName as _
CFStringRef ) as boolean
call setFrameAutosaveName( me.Handle, App.ExecutableFile.Name)
#endif
[/quote]
Funktioniert leider nicht mit meheren Monitoren, das Fenster erscheint immer auf dem Hauptschirm …
Kennt jemand eine Lösung, die auch auf mehreren Monitoren funktioniert?