AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fensterposition persistent machen

Ein Thema von Codehunter · begonnen am 30. Mär 2018 · letzter Beitrag vom 31. Mär 2018
Antwort Antwort
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.321 Beiträge
 
Delphi 12 Athens
 
#1

AW: Fensterposition persistent machen

  Alt 30. Mär 2018, 21:16
ich würde die Daten im initialization Abschnitt aus der ini-Datei oder Registry einlesen und in globalen Variablen speichern.
Danach im FormCreate-Ereignis setzen.
Jetzt muss ich mal blöd fragen. Was hast du davon? Im OnCreate wird die Fensterposition benötigt. Dann lese ich die dort auch aus und nicht vorher in der Initialization.

Würde bei der Mainform keinen Unterschied machen. Aber in einem weiteren erzeugte Fenster (FormB) passt das irgenwie gar nicht. Du liest die Position beim Programmstart ein. Dann öffnest du das FormB schiebst es an eine andere Position und schliesst es wieder. Dann erwarte ich eigentlich, dass dieses FormB bei erneutem Aufruf an der zuletzt geschlossenen Position wieder erscheint. Wird es aber nicht, weil die Position im Initialization beim Start des Programms eingelesen wurde. Hhhmm?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
ghubi01

Registriert seit: 18. Nov 2017
136 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fensterposition persistent machen

  Alt 30. Mär 2018, 21:22
Würde bei der Mainform keinen Unterschied machen. Aber in einem weiteren erzeugte Fenster (FormB) passt das irgenwie gar nicht. Du liest die Position beim Programmstart ein. Dann öffnest du das FormB schiebst es an eine andere Position und schliesst es wieder. Dann erwarte ich eigentlich, dass dieses FormB bei erneutem Aufruf an der zuletzt geschlossenen Position wieder erscheint. Wird es aber nicht, weil die Position im Initialization beim Start des Programms eingelesen wurde. Hhhmm?
Für ein weiteres erzeugtes Fenster würde ich das auch so nicht machen. Das Beispiel sollte auch nur für die Mainform gelten.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Fensterposition persistent machen

  Alt 30. Mär 2018, 22:55
Wenn du Deine Werte aus der Ini/Registry einliest und verarbeitest, ist dann da das Fenster bereits wenigstens einmal "gezeichnet" worden?
Wenn du spassenshalber mal einen Knopf raufpappst mit der "Lade Ini, Setze Werte" funktionalität ausstattest, klappt es dann?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fensterposition persistent machen

  Alt 31. Mär 2018, 00:12
So, Problem gefunden. Ganz was blödes

Ich hatte die Message WM_AFTERSHOW im OnShow per Perform() abgesetzt. Verwende ich stattdessen PostMessage() funktioniert es einwandfrei. Damit bekomme ich die AfterShow-Procedure wirklich erst ganz zum Schluss wenn alles auf den Bildschirm gepinselt ist. Scheinbar reiht Perform() die Message früher in den Queue ein. Da muss man auch erst mal drauf kommen ^^

Danke allen die helfen wollten Das Ergebnis könnt ihr hier herunter laden. Viel Spaß damit
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.826 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fensterposition persistent machen

  Alt 31. Mär 2018, 00:23
Perform = SendMessage

Wenn es also sowieso "sofort" ausgeführt wird, ist es egal, ob hier oder woanders.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fensterposition persistent machen

  Alt 31. Mär 2018, 00:26
Fängt beides mit P an Da kann man ja mal durcheinander kommen...

Guts Nächtle und frohe Ostern!
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz