AGB  ·  Datenschutz  ·  Impressum  







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

XE3, Themes, Button bleibt markiert

Ein Thema von 4dk2 · begonnen am 22. Mär 2013 · letzter Beitrag vom 25. Mär 2013
Antwort Antwort
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#1

XE3, Themes, Button bleibt markiert

  Alt 22. Mär 2013, 08:29
Moin Leute,

Es gibt bei XE3 ja die einfache Möglichkeit Themes zu benutzen.
(Projekt Optionen -> Anwendung -> Erscheinungsbild -> Benutzerdefinierte Stile...)

Wenn ich nun einen von den Emba Stielen benutze und einfach mal 2-3 Buttons drauf klatsche.
Jetzt noch bei Button1:

Delphi-Quellcode:
  
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Enabled:=false;
  sleep(100);
  Button1.Enabled:=true;
end;
hinzufügen.

Wenn man dann zur Laufzeit auf den Button1 klickt. Wird der ja farblich markiert.
Klickt man dann auf Button2, wird Button2 farblich markiert und BLEIBT Button1 aber auch markiert!

Wenn man keinen Benutzerdefinierten Stil benutzt verhält sich das ganze normal.
Lasse ich das Enabled:=false /enabled:=true weg, verhält sich der Stil auch normal

Update/Repaint usw, nach dem enabled true habe ich schon probiert ohne Erfolg
Hat jemand schon ne Lösung / workaround für das Problem ?
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#2

AW: XE3, Themes, Button bleibt markiert

  Alt 22. Mär 2013, 08:40
Schuss ins Blaue: Passiert das auch, wenn du nicht in Button1Click Button1 manipulierst? Vielleicht kommt da was durcheinander, wenn man während der Ereignisbehandlung an den Innereien rumfuhrwerkt.
Uli Gerhardt
  Mit Zitat antworten Zitat
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#3

AW: XE3, Themes, Button bleibt markiert

  Alt 22. Mär 2013, 09:01
Nö dann gehts normal, hab ich aber auch unverständlich geschrieben

Liegt am Enabled true, false

Klar ich kann auch
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Button1.Tag=1 then exit;
  Button1.Tag:=1;
  Sleep(100);//hier das, was button1 tuen soll
  Button1.Tag:=0;
end;
machen um eine erneute Ausführung von Button1 zu verhindern, aber wenn man den deaktiviert, weiss der User "button1 kann ich nicht anklicken"
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#4

AW: XE3, Themes, Button bleibt markiert

  Alt 22. Mär 2013, 09:23
Vielleicht kannst du eine Verzögerung einbauen, um das Problem zu umgehen: Schick in Button1Click nur eine benutzerdefinierte Message per PostMessage los und mach die eigentliche Arbeit im Messagehandler.
Uli Gerhardt
  Mit Zitat antworten Zitat
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#5

AW: XE3, Themes, Button bleibt markiert

  Alt 25. Mär 2013, 07:12
Also die Lösung für die, die es interessiert oder das selbe Problem haben, ist:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Enabled:=false;
  sleep(100);
  Button1.Enabled:=true;
  Button1.SetFocus;
end;
  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 11:09 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