SELECAO DE LISTVIEW VIA CODIGO
Caros Colegas...
Há pouco tempo atrás me vi com um problema com o CommonDialogBox, que resolvi com uma solução [Ô]caseira[Ô] usando um listview com Ãcones de um ImageList.
O problema agora é outro:
Quando entro no form, não há impressoras selecionadas, então se o usuário não selecionar, o sistema não vai setar nenhuma impressora e a mesma vai ser impressa na que estiver padrão do windows. Então:
Como posso, via código, efetuar um ItemClick de um listview?
Existe um argumento que não consigo fornecer (ByVal Item As MSComctlLib.ListItem)...
No evento ItemClick do meu listview eu associo o item selecionado (nome da impressora) para ser ativado como o destino do relatório...
Por favor... me dêem uma luz!
Desde já agradeço!
Há pouco tempo atrás me vi com um problema com o CommonDialogBox, que resolvi com uma solução [Ô]caseira[Ô] usando um listview com Ãcones de um ImageList.
O problema agora é outro:
Quando entro no form, não há impressoras selecionadas, então se o usuário não selecionar, o sistema não vai setar nenhuma impressora e a mesma vai ser impressa na que estiver padrão do windows. Então:
Como posso, via código, efetuar um ItemClick de um listview?
Existe um argumento que não consigo fornecer (ByVal Item As MSComctlLib.ListItem)...
No evento ItemClick do meu listview eu associo o item selecionado (nome da impressora) para ser ativado como o destino do relatório...
Por favor... me dêem uma luz!
Desde já agradeço!
você pode chamar esse evento de forma simples
ou o item que você desejar. No exemplo o item a ser marcado é o 1º item.
outra forma também é
Call ListView1_ItemClick(ListView1.ListItems(1))
ou o item que você desejar. No exemplo o item a ser marcado é o 1º item.
outra forma também é
ListView1.ListItems(1).Selected = True
é Fcouto...
Ele seleciona sim, via Programa (analisando as variáveis)...
Mas visualmente, não aparece nenhuma impressora selecionada (marcada)...
Não resolveu muito o meu problema, pois achei que o primeiro item (no caso do exemplo), ficasse marcado (selecionado) visualmente.
Ele seleciona sim, via Programa (analisando as variáveis)...
Mas visualmente, não aparece nenhuma impressora selecionada (marcada)...
Não resolveu muito o meu problema, pois achei que o primeiro item (no caso do exemplo), ficasse marcado (selecionado) visualmente.
Consegui, colegas... ao invés de selecionar o mesmo, usei a dica do FFCouto para [Ô]selecionar[Ô] o que já vinha pré-selecionado no foco do listview.. ficou assim:
For Each prnDef In Printers
Set Item = lstPrinter.ListItems.Add(, , prnDef.DeviceName, 1, 1)
Next
For nItem = 1 To lstPrinter.ListItems.Count
If lstPrinter.ListItems.Item(nItem).Selected Then
Call lstPrinter_ItemClick(lstPrinter.ListItems(nItem))
Exit For
End If
Next
Pode parecer besteira, mas o item pré-selecionado no foco não era o mesmo que estava sendo enviado para impressão, então, na sub ItemClick do listview (lstPrinter) eu ativo a impressora selecionada no listview para a impressão... funcionou 100% e acabou o problema que eu tinha ao usar o ShowPrinter do CommonDialogBox..
Obrigado ao FFCOUTO, crédito para ele na resposta.
Tópico Encerrado.
For Each prnDef In Printers
Set Item = lstPrinter.ListItems.Add(, , prnDef.DeviceName, 1, 1)
Next
For nItem = 1 To lstPrinter.ListItems.Count
If lstPrinter.ListItems.Item(nItem).Selected Then
Call lstPrinter_ItemClick(lstPrinter.ListItems(nItem))
Exit For
End If
Next
Pode parecer besteira, mas o item pré-selecionado no foco não era o mesmo que estava sendo enviado para impressão, então, na sub ItemClick do listview (lstPrinter) eu ativo a impressora selecionada no listview para a impressão... funcionou 100% e acabou o problema que eu tinha ao usar o ShowPrinter do CommonDialogBox..
Obrigado ao FFCOUTO, crédito para ele na resposta.
Tópico Encerrado.
Tópico encerrado , respostas não são mais permitidas