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.