Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Controles de un boton... (https://www.clubdelphi.com/foros/showthread.php?t=940)

Tanix 29-05-2003 14:37:25

Controles de un boton...
 
Buenas a tod@s... mi pregunta es la siguiente: Alguien sabria como puedo controlar si estoy dentro o no de un control, es decir: Tengo un boton al que quiero que al pasar el raton por encima cambie de color, pero al salir de el vuelva al color original... He encontrado una solución cutre, ya que esta dentro de un panel, en el OnMouseMove del boton lo pongo de un color, y en el OnmouseMove del panel lo vulevo a cambiar, pero esto es bastante conflictivo... Me imagino que habra soluciones mas finas ;) ... Gracias de antemano por sus respuestas...

Delphi Man 29-05-2003 16:25:41

Ante todo saludos

Bueno Tanix, el evento OnMouseMove esta precisamente para eso, asi que o no entiendo tu pregunta, o sería mejor ke explicases a ke te refieres con el tema de que es conflictivo.

delphi.com.ar 29-05-2003 16:37:26

Podrías utilizar los mensajes, CM_MOUSEENTER y CM_MOUSELEAVE, este es un ejemplo un poco simplista:

Código:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TMyPannel = class(TPanel)
  private
    procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
    procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
 end;

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

{ TMyPannel }

procedure TMyPannel.CMMouseEnter(var Message: TMessage);
begin
  Color := clRed;
end;

procedure TMyPannel.CMMouseLeave(var Message: TMessage);
begin
  Color := clBtnFace;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  With TMyPannel.Create( Self ) do
    Parent := Self;
end;

end.


Tanix 02-06-2003 00:29:24

En primer lugar darles las gracias por sus post. Decirte, Dalphi Man, que lo de conflictivo es por el hecho de que no se trata de una solucion con "estilo" lo que propongo. El hecho de que en el evento OnMouseMove del panel le cambie el color al boton digo que es "conflictivo" porque no siempre funciona, como por ejemplo si pasas el raton rapidamente por el boton...
Probare el codigo q me pones delphi.com.ar... Gracias... De todas formas para aclarar el mensaje deciros que lo que quiero hacer es lo que esta el en office, que cuando pasas el raton por un boton este cambia de color y forma... No se si con el codigo que esta es suficiente, aunque me huelo que es mas complejo que eso... Alguien sabe como hacerlo???... Gracias, y hasta pronto...

Delphi Man 02-06-2003 01:06:56

Para lo ke kieres de los botones al estilo office, creo que te valen unos componentes llamados XPMenu. Hay varios post ke hablan sobre éstos. Un saludo

delphi.com.ar 02-06-2003 16:50:09

Bien puedes buscar algunos componentes de terceros que hagan lo que tu quieres como propone Delphi Man, o puedes utilizar el código que te he pasado, que te aseguro funciona, y seguramente es lo que vas a encontrar en el código de lo que bajes de la web.

Saludos!

Tanix 03-06-2003 09:56:08

Gracias a los dos... Y si, el codigo funciona... Saludos!!!


La franja horaria es GMT +2. Ahora son las 14:10:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi