Delphi - GroupBox

 
Vista:

GroupBox

Publicado por alfrez (1 intervención) el 11/06/2007 14:12:37
Hola, a alguien se le ocurre como activar un groupBox inhabilitado con el ratón. Es decir tengo un conjunto de groupBox inhabilitados y quiero que cuando se haga doble click con el ratón sobre uno de ellos se habilite. El problema es que como están deshabilitados no responden a los eventos.

Saludos y gracias por anticipado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:GroupBox

Publicado por jose luis (157 intervenciones) el 11/06/2007 14:44:11
Lo que se me ocurre es que en vez de inhabilitar los groupbox inhabilites los componentes que estan dentro de los groupbox, y en el evento del groupbox habilitas los componentes, se va a escribir mas codigo pero es lo que se me ocurre de momento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:GroupBox

Publicado por Juzam (821 intervenciones) el 11/06/2007 21:54:54
Se me ocurre que puedes cubrir el groupbox con una shape y poner el siguiente evento en el OnMouseDown de la misma. Fíjate que la shape debe estar sobre el groupbox, no dentro:

procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
GroupBox1.Enabled:= true;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:GroupBox

Publicado por E.T. (1244 intervenciones) el 12/06/2007 01:08:37
Puedes intentar en el evento doble click de la forma capturando la posición del groupbox

procedure TForm1.GroupBox1DblClick(Sender: TObject);
begin
if(GroupBox1.Enabled) then begin
Showmessage('click sobre groupbox activado, para desactivarlo');
GroupBox1.Enabled:=not GroupBox1.Enabled;
end
end;

procedure TForm1.FormDblClick(Sender: TObject);
begin
if ((Mouse.CursorPos.X-form1.Left)>=GroupBox1.Left)
and((Mouse.CursorPos.X-form1.Left)<=GroupBox1.Left+GroupBox1.Width)
and((Mouse.CursorPos.y-form1.Top)>=GroupBox1.Top+(form1.Height-form1.ClientHeight))
and((Mouse.CursorPos.y-form1.Top)<=(GroupBox1.Top+GroupBox1.Height+(form1.Height-form1.ClientHeight)))
and (not GroupBox1.Enabled) then begin
Showmessage('click sobre groupbox desactivado, para activarlo');
GroupBox1.Enabled:=not GroupBox1.Enabled;
end else begin
Showmessage('click sobre form')
end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar