Isso ta cheio por ai ("HTMLLabel", por exemplo).

 

Geralmente a string é formatada assim: 

str := 'Texto normal <b>Negrito</b> normal novamente';

 

To sem tempo de procurar agora, mas acho que a TMSSoftware tem esse componente 
também. 

 

Mas de qualquer forma vai ai o código que fiz a um bom tempo e que resolve esse 
seu problema. Boa diversão.

 

 

procedure HTMLTextOut(aCanvas: TCanvas; x, y: Integer; aStr: string);

  var

    p1, p2: Integer;

    s: string;

  begin

    with aCanvas do

    begin

      Font.Style := Font.Style - [fsBold, fsItalic];

 

      while (aStr <> '') do

      begin

        p1 := Pos('<B>', UpperCase(aStr));

        p2 := Pos('</B>', UpperCase(aStr));

 

        if (p1 > 0) and (p1 < p2) then

        begin

          s := Copy(aStr, 1, p1-1);

          TextOut(x, y, s);

          Inc(x, TextWidth(s));

          Delete(aStr, 1, p1 + 2);

          Font.Style := Font.Style + [fsBold];

          Continue;

        end;

 

        if p2 > 0 then

        begin

          s := Copy(aStr, 1, p2-1);

          TextOut(x, y, s);

          Inc(x, TextWidth(s));

          Delete(aStr, 1, p2 + 3);

          Font.Style := Font.Style - [fsBold];

          Continue;

        end;

 

        TextOut(x, y, aStr);

        aStr := '';

      end;

    end;

  end;

 

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Walter 
Chagas Jr (Bol)
Enviada em: terça-feira, 6 de novembro de 2007 07:04
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] String em Negrito

 

concatenar duas strings sendo uma em negrito em um mesmo componente visual 
(tipo um label por exemplo), infelizmente não tem como

[]s



Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
[EMAIL PROTECTED] <mailto:wchagasj%40yahoo.com.br> 
http://www.geocities.com/SiliconValley/Bay/1058
MSN: [EMAIL PROTECTED] <mailto:whitesockets%40hotmail.com> 
SKYPE: WalterChagasJr

----- Original Message ----- 
From: Felipe Nunes 
To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
Sent: Monday, November 05, 2007 2:35 PM
Subject: RES: [delphi-br] String em Negrito

É porque estou usando o Report Builder, e eu concateno varias strings, e uma
dessas strings eu keria que ela ficasse negrito, qndo mando imprimir eu faco
um campo do report builder receber essa string inteira.

faço o campo.caption := stringInteira (e dentro dessa string toda
concatenada tem uma frase que deveria estar em negrito)

exemplo:

dasafjklshdfhasdfhlkasjdhflkashdfklajshdlfhsdfhk +
dajsghdahsjkdhsahdkahskdhasjkhd + sdhasjhdjsh + adhsjhdas + aasjhgdashgdas

abraço

_____ 

De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
[mailto:delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> ] 
Em
nome de Eduardo Silva dos Santos
Enviada em: segunda-feira, 5 de novembro de 2007 11:27
Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> 
Assunto: Re: [delphi-br] String em Negrito

Faz... de mais detalhes ai porque tudo que vc postou ta muito vago.

Em 05/11/07, Felipe Nunes <nunesfelipe@ <mailto:nunesfelipe%40yahoo.com.br>
yahoo.com.br> escreveu:
>
> Bom dia pessoal...
>
> Estou prescisando saber se consegui concatenar strings com negrito exemplo
>
>
> string 1 + negrito(string 2) + string 3
>
>
> intaum so preciso que a string 2 fique negrito..
>
>
> Abraço
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

-- 
.......................................................
Eduardo Silva dos Santos
DRD Sistemas.
(27) 3218-4201
MSN: eduardo.drd@ <mailto:eduardo.drd%40gmail.com> gmail.com
Site: http://www.drdsiste <http://www.drdsistemas.com/> mas.com/
.......................................................

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

__________ Informação do NOD32 IMON 2639 (20071105) __________

Esta mensagem foi verificada pelo NOD32 sistema antivírus
http://www.eset.com.br

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a