AGB  ·  Datenschutz  ·  Impressum  







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

Controls im PageControl verschwinden unkontrolliert

Ein Thema von Adrian Z. · begonnen am 25. Mai 2011 · letzter Beitrag vom 26. Mai 2011
Antwort Antwort
Adrian Z.

Registriert seit: 25. Mai 2011
6 Beiträge
 
Delphi 2005 Personal
 
#1

AW: Controls im PageControl verschwinden unkontrolliert

  Alt 25. Mai 2011, 17:37
Ich habe das VCLFixPack 1.2 gefunden und als Unit eingebunden. Leider wird das Problem dadurch noch nicht behoben.
Oder muss ich das IDEFixpack nehmen. Aber das ist doch gar nicht für D2005, oder? Außerdem stand da, dass es die eigenen Projekte nicht verändert.

Was kann ich noch tun?
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Controls im PageControl verschwinden unkontrolliert

  Alt 25. Mai 2011, 17:58
Folgender Code muss in Controls.pas::TWinControl.WndProc nach dem "inherited WndProc(Message);" Aufruf.
Delphi-Quellcode:
if Message.Msg = WM_UPDATEUISTATE then
  Invalidate; // Ensure control is repainted
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Controls im PageControl verschwinden unkontrolliert

  Alt 25. Mai 2011, 18:13
Da es etwas "schwer" ist, die VCL-Cuellcodes zu ändern, könnte man es auch so versuchen:
Delphi-Quellcode:
uses Controls;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var
  C: TWinControl;
begin
  if Msg.message = WM_UPDATEUISTATE then begin
    C := FindControl(Msg.hwnd);
    if Assigned(C) then
      C.Invalidate;
  end;
end;

Application.OnMessage := ApplicationEvents1Message;
// Wenn schon vorhanden, dann TApplicationEvents auf die Form pappen und dort OnMessage verwenden
// Auf einer Form reicht, da es für alle Controls verwendet wird.
Aber es könnte auch sein, daß es so zu früh ausgelöst wird ... wenn's nicht klappt, dann würd ich da noch was dran verändern.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Adrian Z.

Registriert seit: 25. Mai 2011
6 Beiträge
 
Delphi 2005 Personal
 
#4

AW: Controls im PageControl verschwinden unkontrolliert

  Alt 25. Mai 2011, 19:14
Danke für eure Mühen.
Ich verzweifel langsam.

Die procedure von himitsu wird bei mir zwar aufgerufen, allerdings ist die Message nie WM_UPDATEUISTATE.
Dadurch wird invalidate nicht aufgerufen und die Controls bleiben verschollen. Die Controls.pas kann ich leider nicht ändern, da ich D2005 Personal habe und da sind ja nur die dcu's und nicht die pas-Dateien enthalten.

Noch Ideen?
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Controls im PageControl verschwinden unkontrolliert

  Alt 25. Mai 2011, 19:59
Ich bin auch an der Lösung dieses Problems interessiert, da dass nicht nur bei (sehr viel) älteren Delphi Versionen vorhanden ist!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Controls im PageControl verschwinden unkontrolliert

  Alt 25. Mai 2011, 21:16
Ich bin auch an der Lösung dieses Problems interessiert
Das Abfangen von WM_UPDATEUISTATE, das die VCL sich selbst schickt (der Code fehlt noch oben) ist eigentlich nichts anderes als ein Workaround für ein viel tiefer liegendes Theming Problem. Ich bin gerade dabei zu analsysien, warum alle nicht-Delphi Programme mit CheckBoxen keine Probleme habe. Und meine ersten Nachforschungen ergeben, dass TButtonControl.CNCtlColorStatic die CheckBoxen übermalt, und Windows nur die Unterstriche zeichnet, womit vom Control nicht viel übrig bleibt.
Das ganze Problem beginnt aber schon in TWinControl.DefaultHandler, bei dem CN_CTLCOLORMSGBOX..CN_CTLCOLORSTATIC die Hintergrundfarbe auf den Brush ändern, was bei nicht-gethemeten Anwendungen in Ordnung ist, aber Windows weiß bei gethemeten Anwendungen besser, was wie zu zeichnen ist als die VCL.
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: Controls im PageControl verschwinden unkontrolliert

  Alt 26. Mai 2011, 06:28
Hallo,

hier der entsprechende QC-Eintrag bei Emba.

Um Dein beschriebenes Problem zu lösen, gibt es hier einen Workaround.
  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 21:58 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