H
HobbyProgger
Gast
Hallo Leute, ich hoffe ihr könnt mir bei folgendem Problem weiterhelfen:
ich speichere beim Schließen eines Fensters dessen Position [ wnd.getLocation() ]. Beim nächsten Programmstart werden die alten Positionswerte wieder ausgelesen und die Position des Fensters damit gesetzt [ wnd.setLocation( config.windowPosition ) ]. Leider wird das Fenster dabei immer ein Stückchen weiter unten gezeichnet. Es sind immer 21 Pixel, was genau der Höhe der Titelleiste entsprechen dürfte (Enlightement16).
Als "Workaround" lese ich momentan nach dem Setzen der Fenster-Koordinaten diese gleich wieder aus und berechne die Differenz zum ursprünglichen gespeicherten Wert. Wenn ich dann wie folgt das Fenster um diese Different verschoben zeichne:
config.windowPosition.y -= diff;
wnd.setLocation( config.windowPosition );
Dann stimmt die Fensterposition bei jedem zweiten Programmstart leider immer noch nicht... (zur Hälfte stimmte es dann aber)
Woran liegt das? Was mache ich falsch??
ich speichere beim Schließen eines Fensters dessen Position [ wnd.getLocation() ]. Beim nächsten Programmstart werden die alten Positionswerte wieder ausgelesen und die Position des Fensters damit gesetzt [ wnd.setLocation( config.windowPosition ) ]. Leider wird das Fenster dabei immer ein Stückchen weiter unten gezeichnet. Es sind immer 21 Pixel, was genau der Höhe der Titelleiste entsprechen dürfte (Enlightement16).
Als "Workaround" lese ich momentan nach dem Setzen der Fenster-Koordinaten diese gleich wieder aus und berechne die Differenz zum ursprünglichen gespeicherten Wert. Wenn ich dann wie folgt das Fenster um diese Different verschoben zeichne:
config.windowPosition.y -= diff;
wnd.setLocation( config.windowPosition );
Dann stimmt die Fensterposition bei jedem zweiten Programmstart leider immer noch nicht... (zur Hälfte stimmte es dann aber)
Woran liegt das? Was mache ich falsch??