IMPRESSAO DE CONTEUDO DE RICHTEXTBOX
Boa Tarde
Tenho a tela em anexo, onde eu tenho que preencher as 3 colunas com dados.Exibir oa dados na tela nao sera problema, porem eu preciso imprimi-los da mesma forma como aparecem na tela, ou seja,tudo o que estiver na primeira linha da primeira coluna, devera estar na primeira linha a ser impressa e assim por diante e o mesmo para as outras duas colunas.O que for impresso no papel, devera aparecer como aparece na tela.
Acontece que eu estou meio perdido de como fazer isso,pois o espaço a ser digitado em cada linha, na tela fica delimitado pela area que foi reservada no [Ô]RichTextBox[Ô], porem como e um controle para a digitacao de texto,quando eu for imprimir, o texto sera continuo, sem a quebra de linha que so existe na tela.
Pensei em usar varios [Ô]TextBoxes[Ô] mas seriam muitos que eu teria que usar para cada linha e existe um limite de controles por formulario no VB6.
Aceito sugestoes.
Obrigado e um Abraço
Tenho a tela em anexo, onde eu tenho que preencher as 3 colunas com dados.Exibir oa dados na tela nao sera problema, porem eu preciso imprimi-los da mesma forma como aparecem na tela, ou seja,tudo o que estiver na primeira linha da primeira coluna, devera estar na primeira linha a ser impressa e assim por diante e o mesmo para as outras duas colunas.O que for impresso no papel, devera aparecer como aparece na tela.
Acontece que eu estou meio perdido de como fazer isso,pois o espaço a ser digitado em cada linha, na tela fica delimitado pela area que foi reservada no [Ô]RichTextBox[Ô], porem como e um controle para a digitacao de texto,quando eu for imprimir, o texto sera continuo, sem a quebra de linha que so existe na tela.
Pensei em usar varios [Ô]TextBoxes[Ô] mas seriam muitos que eu teria que usar para cada linha e existe um limite de controles por formulario no VB6.
Aceito sugestoes.
Obrigado e um Abraço
Bom Dia Amigos
E entao,alguem ja teve esse problema.
sds
Ventana
E entao,alguem ja teve esse problema.
sds
Ventana
Colega desculpe a pergunta mas porque vc não utiliza uma grid para fazer o que deseja (flexagrid, listview, dbgrid, etc)
ficaria mais fácil de fazer.
ficaria mais fácil de fazer.
Boa Tarde Marcelo
Na verdade eu estou aberto a sugestoes.Nao utilizei nenhum desses 3 controles porque eu preciso digitar texto 3 nos mesmos.
Preciso de um campo texto que me permita digitar o que eu quiser e que me permita imprimir com as mesmas limitacoes que eu tenho na tela.
Caso eu nao consiga resolver isso, irei colocar cerca de 60 Textboxes, 20 para cada u. dos 3 campos.Eu ate faria isso sem problemas mas o problema aqui é que o meu formulario ja esta cheio de controles e existem alguns recursos como Activex que eu nao sei usar.
Talvez eu crie um segundo formulario, apenas para colocar esses 60 textbox..Nao acho isso muito bonito mas estou sem opções no momento.
Obrigado e um Abraço
Na verdade eu estou aberto a sugestoes.Nao utilizei nenhum desses 3 controles porque eu preciso digitar texto 3 nos mesmos.
Preciso de um campo texto que me permita digitar o que eu quiser e que me permita imprimir com as mesmas limitacoes que eu tenho na tela.
Caso eu nao consiga resolver isso, irei colocar cerca de 60 Textboxes, 20 para cada u. dos 3 campos.Eu ate faria isso sem problemas mas o problema aqui é que o meu formulario ja esta cheio de controles e existem alguns recursos como Activex que eu nao sei usar.
Talvez eu crie um segundo formulario, apenas para colocar esses 60 textbox..Nao acho isso muito bonito mas estou sem opções no momento.
Obrigado e um Abraço
bom colega vai uma dica legal então, coloque um flexgrid no seu projeto e configure conforme necessita.
no mesmo form coloque um textbox, veja bem um unico textbox com a propriedade visible=false, pode colocar em qualquer lugar do form.
agora no flexgrid você vai colar este código
bom o que o código acima faz, ele simplesmente pega o textbox posiciona sobre a celula que vc selecionou, com exatamente o mesmo tamanho da célula, e o deixa visivel e pronto para ser editado, ao perder o foco da célula o texto do textbox vai para a mesma dando este efeito super legal, de grid editavel, e com uma vantagem sera o textbox que vc precisa.
depois para imprimirn fica mai fácil, pois vc vai fazer um loop no flex grid e imprimir o que deseja da maneira que deseja.
exemplo
que irá imprimir exatamente igual a tabela ou bem próximo do esperado necessitando de apenas alguns ajustes
no mesmo form coloque um textbox, veja bem um unico textbox com a propriedade visible=false, pode colocar em qualquer lugar do form.
agora no flexgrid você vai colar este código
Private Sub MSFlexGrid1_EnterCell()
Text1.Visible = True
Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.CellTop
Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.CellLeft
Text1.Width = MSFlexGrid1.CellWidth
Text1.Text = MSFlexGrid1.Text
Text1.SetFocus
End Sub
Private Sub MSFlexGrid1_LeaveCell()
Text1.Visible = False
MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.Text
End Sub
bom o que o código acima faz, ele simplesmente pega o textbox posiciona sobre a celula que vc selecionou, com exatamente o mesmo tamanho da célula, e o deixa visivel e pronto para ser editado, ao perder o foco da célula o texto do textbox vai para a mesma dando este efeito super legal, de grid editavel, e com uma vantagem sera o textbox que vc precisa.
depois para imprimirn fica mai fácil, pois vc vai fazer um loop no flex grid e imprimir o que deseja da maneira que deseja.
exemplo
For F = 1 To FlexGrid.Rows - 1
Printer.Print FlexGrid.TextMatrix(F, 0) & vbTab & FlexGrid.TextMatrix(F,1) & vbTab & FlexGrid.TextMatrix(F, 2)
Printer.EndDoc
Next F
que irá imprimir exatamente igual a tabela ou bem próximo do esperado necessitando de apenas alguns ajustes
Bom voce ainda quer imprimir pelo richtextbox?
Se voce usar a fonte Courier New vai ficar tudo certo, coluna com coluna ... Agora quanto imprimir 3 colunas, vai ter que user uma picture ...
Voce ainda quer imprimir pelo richtextbox?
Se voce usar a fonte Courier New vai ficar tudo certo, coluna com coluna ... Agora quanto imprimir 3 colunas, vai ter que user uma picture ...
Voce ainda quer imprimir pelo richtextbox?
Boa Tarde Amigos
Bem, estive alguns dias fora mas estou de volta com os mesmos problemas.
Be, WOLFFIRE, nao e que eu queira imprimir pelo RichBox, simplesmente ele e apenas uma alternativa.O que eu quero mesmo e resolver o meu problema.
Sua sugestao e interessante MARCELO-TREZE, acredito que quando eu passar para a linha de baixo o TextoBox, seja posicionado na nova linha para que eu continue digitando, ja que tenho varias linhas, o problema e que o TextBox nao foi para a proxima linha.Ficou sempre na mesma linha.
Obrigado e um abraço a todos
Bem, estive alguns dias fora mas estou de volta com os mesmos problemas.
Be, WOLFFIRE, nao e que eu queira imprimir pelo RichBox, simplesmente ele e apenas uma alternativa.O que eu quero mesmo e resolver o meu problema.
Sua sugestao e interessante MARCELO-TREZE, acredito que quando eu passar para a linha de baixo o TextoBox, seja posicionado na nova linha para que eu continue digitando, ja que tenho varias linhas, o problema e que o TextBox nao foi para a proxima linha.Ficou sempre na mesma linha.
Obrigado e um abraço a todos
desculpe colega se você pretende passar para proxima linha com a tecla enter coloque no evento keypress do flexgrid o seguinte
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii =13 Then
If MSFlexGrid1.Row < MSFlexGrid1.Rows - 1 Then
MSFlexGrid1.Row = MSFlexGrid1.Row + 1
MSFlexGrid1.Col = 1
End If
End If
End Sub
Tópico encerrado , respostas não são mais permitidas