AGB  ·  Datenschutz  ·  Impressum  







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

Vcl styles change @ run time

Ein Thema von bernhard_LA · begonnen am 12. Mär 2014 · letzter Beitrag vom 12. Mär 2014
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

Vcl styles change @ run time

  Alt 12. Mär 2014, 10:10
ich habe auf der Seite http://www.delphifeeds.com/go/f/1128...hiFeeds.com%29 schöne Beispiele gefunden die VCL Styles zur Laufzeit eines Programmes zu ändern.

In einer TestApp ( leeres Formular) geht auch alles bestens. Nur im meiner richtigen App bekomme ich leider "Zentnerwiese AV's" weil eine Änderungen des VCL Styles auch automatische versucht alles Forms in meiner Anwendung zu schliessen und via Mainform.FormCreate die ganze Anwendung und alle "SubForms" neu lädt. Diese Verfahren kann so nicht funktionieren da der Zustand der Daten nicht mit abgespeichert und wieder hergestellt wird. Ich sehe auch keinen Weg in meiner App einen Programmteil zu schreiben procedure OnSytelChange_save_mydata() und anschliessend procedure AfterStyleChange_reload_mydata(...)

Was macht Ihr ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Vcl styles change @ run time

  Alt 12. Mär 2014, 11:21
Was macht Ihr ?
Ich verwende keine Styles und hab derartige Probleme erst garnicht.

Nja, entweder du baust dir was zum Laden/Wiederherstellen,

oder du änderst halt nicht zur Laufzeit die Styles

oder du verwendest Stylekomponenten, welche den Style ohne Neuerstellen tauschen können.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Vcl styles change @ run time

  Alt 12. Mär 2014, 11:28
Ich habe den Blogbeitrag jetzt nicht gelesen, aber ich dachte Styles zur Laufzeit ändern geht? Das Problem ist zwar, dass sich das Fenster-Handle der MainForm (oder war es Application? ) ändert, aber sonst...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Vcl styles change @ run time

  Alt 12. Mär 2014, 11:45
Zumindestens in der VCL wird ein CM_RECREATEWND abgesehndet, worauf hin erstmal das Fensterhandle und alle Handle der darauf befindlichen WinControls gelöscht werden.
Darauf hin, werden diese WinControls aus den gespeicherten Daten in den Delphi-Klassen neu aufgebaut.

Alles was nicht gespeichert wurde und sich nur im WinControl befand, also nicht als Kopie in der Delphi-Komponente lag, ist dann weg.

Das Meiste sollte aber schon als Kopie vorhanden sein (Texte von Memos/Edits, aber z.B. nicht die Position und Form des Cursors oder der ScrollBar)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Vcl styles change @ run time

  Alt 12. Mär 2014, 13:56
Im Prinzip geht es, jedoch muss die Anwendung auch darauf vorbereitet werden das es überall auch wirklich geht.
Ich würde bei einem Theme-Wechsel die Anwendung neu start (Meldung: "Durch ein ändern des Themes muss die Anwendung neu gestartet werden") und gut ist. (Fast) Niemand wird ein Programm kaufen das als Aleinstellungsmerkmal zu anderen Programmen hat das man das Aussehen während des Betriebs wechseln kann. (Fast) allen wird es reichen wenn das nach einem neustart passt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 09:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz