AGB  ·  Datenschutz  ·  Impressum  







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

TToolbutton visible

Ein Thema von _frank_ · begonnen am 3. Aug 2007 · letzter Beitrag vom 3. Aug 2007
Antwort Antwort
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#1

TToolbutton visible

  Alt 3. Aug 2007, 02:58
Hi,
ich habe mir eine Checklistbox gebastelt um die Buttons einer Toolbar ein- und ausblenden zu können. Das Ausblenden funktioniert auch super...nur einblenden tut er nicht (keine Fehlermeldung).

mein Code:

Delphi-Quellcode:
procedure TForm_DFMOptions.CheckListBox1ClickCheck(Sender: TObject);
var i:integer;
    c:TControl;
begin
  for i:=0 to checklistbox1.Items.count-1 do
  begin
    c:=Form_DFMMain.FindComponent(Checklistbox1.items.strings[i]) as TControl;
    if assigned(c) then
    begin
      c.Visible:=Checklistbox1.Checked[i]; //show if hidden isn't working
    end else
      showmessage('not assigned');
  end;
end;
habe auch schon mit (c as TToolbutton).Show, (c as TToolbutton).Parent und Form_DFMMain.Toolbar1.Update rumgespielt, jedoch ohne Erfolg...einmal ausgeblendet ist der button weg

vielleicht hat jemand eine Idee...

Gruß Frank
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#2

Re: TToolbutton visible

  Alt 3. Aug 2007, 07:40
Du setzt das visible immer auf das letzte Item deiner CheckListBox;

Versuch mal :
Delphi-Quellcode:
c.Visible:=Checklistbox1.Checked[CheckListBox1.Items.IndexOf(c.name)]; //show if hidden isn't working
//statt
 c.Visible:=Checklistbox1.Checked[i]; //show if hidden isn't working
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#3

Re: TToolbutton visible

  Alt 3. Aug 2007, 12:28
Zitat von chrisw:
Du setzt das visible immer auf das letzte Item deiner CheckListBox;
versteh ich nicht...greife doch auf checked[i] zu...
Zitat von chrisw:
Versuch mal :
Delphi-Quellcode:
c.Visible:=Checklistbox1.Checked[CheckListBox1.Items.IndexOf(c.name)]; //show if hidden isn't working
//statt
 c.Visible:=Checklistbox1.Checked[i]; //show if hidden isn't working
erwartungsgemäß funktioniert das auch nicht...ich habe die checklistbox dynamisch gefüllt (alle buttons der toolbar eingelesen), somit ist auch der index der gleiche.
versteckt wird der button ja...

Gruß Frank
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TToolbutton visible

  Alt 3. Aug 2007, 13:13
Hallo Frank,

bei mir funktioniert es so:

Delphi-Quellcode:
procedure TDemoForm.CheckListBoxClickCheck(Sender: TObject);
begin
  with Sender as TCheckListBox do
    with self.FindComponent(Items[ItemIndex]) as TControl do
      Visible := Checked[ItemIndex];
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#5

Re: TToolbutton visible

  Alt 3. Aug 2007, 13:22
verstecken geht, nur wieder anzeigen genauso wenig
ist wohl ein unentdeckter Bug in D3...muss ich wohl doch die forms neu erstellen, um die buttons wieder einzublenden...

Gruß Frank
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: TToolbutton visible

  Alt 3. Aug 2007, 15:03
Hallo Frank,

hast du es auch außerhalb deiner Anwendung getestet?
Gibt es Updates für D3, die du nicht installiert hast?

Ich konnte nur mit D5 und D7 testen - da funktioniert es.

Freundliche Grüße
Angehängte Dateien
Dateityp: zip findcomp-1_149.zip (1,9 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#7

Re: TToolbutton visible

  Alt 3. Aug 2007, 16:21
Danke Marabu
mhm...hab das MR2 (dürfte das aktuellste sein) nochmal drübergebügelt...trotzdem noch selbes Phänomen auch mit deiner Testanwendung.

habs erstmal durch ein recreate gelöst...

Gruß Frank
  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 20:20 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