Escrever/desenhar na vertical texto com várias linhas com Canvas ou com a API do windows
Amigos
Ambiente desenvolvimento: D7 ou D2010
Arquitetura windows: xp, vista, win7
Alguém já conseguiu escrever na VERTICAL (ângulo de 90 graus ou 270 graus) um texto longo (texto com quantidade máxima de caracteres, com ou sem quebra de linhas) que irá gerar VÁRIAS linhas (enquandrando o texto dentro de uma área delimitada, como se fosse um retângulo, considerando que o tamanho do retângulo é previamente definido [baseado na quantidade de caracteres e tamanho da fonte] para suportar todo o texto - sem necessidade de barras de rolagem) com alguma destas funções?
procedure TCanvas.TextOut(X, Y: Integer; const Text: String); //internamente chama Windows.ExtTextOut
procedure TCanvas.TextRect(Rect: TRect; X, Y: Integer; const Text: string); //internamente chama Windows.ExtTextOut
procedure TCanvas.TextRect(var Rect: TRect; var Text: string; TextFormat: TTextFormat = []); //internamente chama DrawTextEx >> function DrawTextEx; external user32 name DrawTextExW;
Ou usando diretamente a API do windows:
function Windows.ExtTextOut(DC: HDC; X, Y: Integer; Options: Longint; Rect: PRect; Str: PWideChar; Count: Longint; Dx: PInteger): BOOL; external gdi32 name ExtTextOutW;
function DrawTextEx; external user32 name DrawTextExW;
Outras APIs do windows que desconheço.
Não estou a procura de componentes como QRAngledLabel para desenhar em relatórios ou similar para desenhar no formulário.
A solução que procuro é para ser usada com o Canvas ou com uma função nativa da API do windows.
Hoje, a necessidade de escrever na vertical com várias linhas é um problema bastante recorrente, e meu desejo é desenhar livremente sem o uso de componentes.
Agradeço sugestões, dicas, trechos de códigos, etc, etc, etc
Delmar Wichnieski
Ajuricaba/RS
Ambiente desenvolvimento: D7 ou D2010
Arquitetura windows: xp, vista, win7
Alguém já conseguiu escrever na VERTICAL (ângulo de 90 graus ou 270 graus) um texto longo (texto com quantidade máxima de caracteres, com ou sem quebra de linhas) que irá gerar VÁRIAS linhas (enquandrando o texto dentro de uma área delimitada, como se fosse um retângulo, considerando que o tamanho do retângulo é previamente definido [baseado na quantidade de caracteres e tamanho da fonte] para suportar todo o texto - sem necessidade de barras de rolagem) com alguma destas funções?
procedure TCanvas.TextOut(X, Y: Integer; const Text: String); //internamente chama Windows.ExtTextOut
procedure TCanvas.TextRect(Rect: TRect; X, Y: Integer; const Text: string); //internamente chama Windows.ExtTextOut
procedure TCanvas.TextRect(var Rect: TRect; var Text: string; TextFormat: TTextFormat = []); //internamente chama DrawTextEx >> function DrawTextEx; external user32 name DrawTextExW;
Ou usando diretamente a API do windows:
function Windows.ExtTextOut(DC: HDC; X, Y: Integer; Options: Longint; Rect: PRect; Str: PWideChar; Count: Longint; Dx: PInteger): BOOL; external gdi32 name ExtTextOutW;
function DrawTextEx; external user32 name DrawTextExW;
Outras APIs do windows que desconheço.
Não estou a procura de componentes como QRAngledLabel para desenhar em relatórios ou similar para desenhar no formulário.
A solução que procuro é para ser usada com o Canvas ou com uma função nativa da API do windows.
Hoje, a necessidade de escrever na vertical com várias linhas é um problema bastante recorrente, e meu desejo é desenhar livremente sem o uso de componentes.
Agradeço sugestões, dicas, trechos de códigos, etc, etc, etc
Delmar Wichnieski
Ajuricaba/RS
Delmar Observação)
Curtidas 0