Ver Mensaje Individual
  #3  
Antiguo 12-05-2005
pablo pablo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Argentina . Junin
Posts: 78
Reputación: 21
pablo Va por buen camino
Cita:
Empezado por marcoszorrilla
Hay que poner la propiedad del OwnerDraw del MainMenu a True.
Y escribir este código en el evento OnDrawItem de la opción del menú que queremos aparezca con distintas carácterísticas.
Código Delphi [-]
 procedure TForm1.TuMenuDrawItem(Sender: TObject; ACanvas: TCanvas;  ARect: TRect; Selected: Boolean);
 begin
   with ACanvas do
   begin
     Font.Name:='Arial'; 
    Font.Color:=clGreen;
     DrawText(Handle,PChar((Sender as TMenuItem).Caption),-1,ARect,DT_VCENTER); 
  end;
 end;

Un Saludo.
Bien... estuve jugando con algo así: mirá:

procedure TFPrincipal.ARCHIVOS1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
begin
with ACanvas do
begin
Font.Name:='System';
Font.Size := 20;
DrawText(Handle,PChar((Sender as TMenuItem).Caption),-1,ARect,DT_VCENTER);
end;

end;

procedure TFPrincipal.ARCHIVOS1MeasureItem(Sender: TObject;
ACanvas: TCanvas; var Width, Height: Integer);
begin
Width := 300;
Height := 40;
end;

El problema es en este ultimo evento, gracias al cual, por haber agrandado la letra en el anterior, puedo verla bien a lo ancho... pero el heigth no me lo cambia, por mas que le setee el valor aquí. Entonces veo bien el contenido del menu a lo ancho pero respecto a la altura queda "cortada por la mitad"... porque puede ser que me "ignore" el valore que le doy al heigth?

saludos
pablo
__________________
Pablo Tello
Responder Con Cita