Ver la Versión Completa : TControlBar
TinkerBell
18-08-2005, 16:40:51
Buenas tardes a tod@s:
Mi problema es el siguiente, en mi aplicación tengo un ControlBar que tiene a su vez varias ToolBar, me gustaría conocer en tiempo de ejecución cuantas toolbar tiene asignadas y el nombre de ellas, lo he intentado con Controls, con dockclient...pero no he conseguido lo que quiero, me podriais ayudar??
Muchas gracias de antemano, un saludo
vtdeleon
18-08-2005, 21:37:09
Saludos
Intentalo con un bucle, recorriendo todos los componentes del formulario y chequiando si es un ToolBar
componentCount
Hola,
Creo que puedes lograr lo que persigues haciendo uso del método "FindChildControl" conque cuentan los "TControlBar", los cuales lo heredan de "TWinControl". Sería algo más o menos así:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if ControlBar1.FindChildControl('ToolBar1') <> nil then
Caption := 'ToolBar1 está en el ControlBar1';
end;
TinkerBell
19-08-2005, 09:32:47
Gracias dec,
Habia intentado algo parecido a tu opción pero creo que no lo hacia correctamente, lo probaré de esa manera aunque haciendo otras pruebas he encontrado otra cosa que me puede servir.
Muchas gracias denuevo.;)
Hola,
(...) haciendo otras pruebas he encontrado otra cosa que me puede servir.
¿Podrías decir el qué, por si le puede resultar de utilidad a alguien? Gracias ;)
TinkerBell
22-08-2005, 10:14:09
Es muy simple pero para lo que necesito me vale, es lo siguiente:
//una vez encontrado el componente controlBar se lo asigno a una variable
controlBar := TControlBar(Components[i]);
//recorro los componentes de mi formulario y al encuentro una ToolBar(*)
for j := 0 to componentCount -1 do
begin
if (Components[j].ClassType = TToolBar) then
begin
barra := TToolBar(Components[j]);
for k := 0 to controlBar.ControlCount - 1 do
begin
//(*) compruebo si el Name de este componente encontrado corresponde
//con el nombre de algún componente del ControlBar
if barra.Name = controlbar.Controls[k].Name then
KmoCuesta
31-07-2007, 23:38:59
medio tarde pero bue.. para el que busque:D
i:=0;
For I:= Form1.ComponentCount -1 downto 0 do
begin
if Components[i] is TToolButton then
TToolButton (Components[i]).Enabled := False;//pon la propedad que te interese
end;
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.