Ver Mensaje Individual
  #3  
Antiguo 01-12-2004
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Reputación: 23
ramonibk Va por buen camino
Gracias Neftali. Lo que tu me has mandado lo estoy mirando.



He estado mirando en los ejemplos que vienen con los RXLib y he conseguido poner un texto de la siguiente manera

Código:
function CreateRotatedFont(Font: TFont; Angle: Integer): HFont;

var

  LogFont: TLogFont;

begin

  FillChar(LogFont, SizeOf(LogFont), 0);

  with LogFont do begin

	lfHeight := Font.Height;

	lfWidth := 0;

	lfEscapement := Angle * 10;

	lfOrientation := 0;

	if fsBold in Font.Style then lfWeight := FW_BOLD

	else lfWeight := FW_NORMAL;

	lfItalic := Ord(fsItalic in Font.Style);

	lfUnderline := Ord(fsUnderline in Font.Style);

	lfStrikeOut := Byte(fsStrikeOut in Font.Style);

{$IFDEF RX_D3}

	lfCharSet := Byte(Font.Charset);

	if AnsiCompareText(Font.Name, 'Default') = 0 then

	  StrPCopy(lfFaceName, DefFontData.Name)

	else

	  StrPCopy(lfFaceName, Font.Name);

{$ELSE}

  {$IFDEF VER93}

	lfCharSet := Byte(Font.Charset);

  {$ELSE}

	lfCharSet := DEFAULT_CHARSET;

  {$ENDIF}

	StrPCopy(lfFaceName, Font.Name);

{$ENDIF}

	lfQuality := DEFAULT_QUALITY;

	lfOutPrecision := OUT_DEFAULT_PRECIS;

	lfClipPrecision := CLIP_DEFAULT_PRECIS;

	case Font.Pitch of

	  fpVariable: lfPitchAndFamily := VARIABLE_PITCH;

	  fpFixed: lfPitchAndFamily := FIXED_PITCH;

	  else lfPitchAndFamily := DEFAULT_PITCH;

	end;

  end;

  Result := CreateFontIndirect(LogFont);

end;


En el evento OnDrawMargin Se añade

Código:
procedure TfrmAlarma.PopupMenuDrawMargin(Sender: TMenu; Rect: TRect);

const

  Txt = 'Texto';

begin

  With PopUpMenu.Canvas.Font do begin

	Name := 'Courier New';

	Style := [fsBold];

	Size := 20;

	Color := clWhite;

	Handle := CreateRotatedFont(PopUpMenu.Canvas.Font, 90);

  end;

  PopUpMenu.DefaultDrawMargin(Rect, clLime, RGB(GetRValue(clLime) div 4,

	GetGValue(clLime) div 4, GetBValue(clLime) div 4));

  SetBkMode(PopUpMenu.Canvas.Handle, TRANSPARENT);

  ExtTextOut(PopUpMenu.Canvas.Handle, Rect.Left, Rect.Bottom - 5, ETO_CLIPPED,

	@Rect, Txt, Length(Txt), nil);

  End;




Y bueno después se pueden cambiar los colores, tamaños, etc, etc.



Pero sigo dándole Vueltas a como poder insertar una imagen. Yo seguiré mirando pero si alguien me puede dar alguna pista os lo agradecería.
Responder Con Cita