GARANTIR DESCONTO

Fórum Grid com Memo sem cortar linha #257782

10/11/2004

0

Ola Galera!!!

Estou tentando fazer com q minha DBGrid mostra todo o conteúdo de um campo Memo na grid mesmo.

Estou usando esse codigo para pegar o texto do campo memo

procedure Tfrmordem6.Qordem6TIP_NOMEGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin Text := GridMemo(Sender.AsString); end;


com a função q criei:

function GridMemo (Texto : String) : String; var PTexto : String; begin if pos(#13, Texto) 0 then PTexto := copy (Texto, 1, pos(13, Texto) - 1) else PTexto := Texto; Result := PTexto; end;


Mas isso soh faz com q mostre na linha até o enter, mas gostaria de mostrar todo o conteúdo do Memo sem pular de linha, sendo q quando chegar no enter ele dexe tipo um enter na linha e mostrasse como se dentro de uma linha tivesse um memo ou texto...

Naum sei se compliquei mas pra vcs do q ja tah mas esse seria minha tentativa de fazer algo funcional....


Zunker

Zunker

Responder

Posts

10/11/2004

Aroldo Zanela

Colega,

Crie um campo calculado para receber o conteúdo do Memo e ao invés de exibir o Memo, exiba o campo calculado. O melhor mesmo é utilizar uma CtrlGrid para exibir o mesmo de forma ´mais elegante´.


Responder

Gostei + 0

10/11/2004

Zunker

O q seria essa CtrlGrid?

eu encontrei um outro meio mas eu tenho q aumentar o tamanho da linha da grid sendo q depois naum tenho como voltar ao normal se por acaso um memo ocupa soh uma linha.

o esquema eh esse:

procedure Tfrmordem6.gradeDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var R : TRect; begin R := Rect; Dec(R.Bottom,2); if Column.Field = Qordem6TIP_NOME then begin if not (gdSelected in State) then grade.Canvas.FillRect(Rect); DrawText(grade.Canvas.Handle, pchar(Qordem6TIP_NOME.AsString), length(Qordem6TIP_NOME.AsString), R, DT_WORDBREAK); end; end;



Responder

Gostei + 0

11/11/2004

Zunker

Up. :mrgreen:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar