Newsgroup: it.comp.appl.access
Titolo: EM_LINESCROLL SendMessage impazzimento su casella di testo

Vorrei semplicemente effettuare uno scroll alla fine di una casella di testo 
(senza dovrerla riempire al contrario me.lbl="Messaggio" & vbcrlf & me.lbl)
Mission impossible?
Grazie


l'API GetFocus() mi restituisce <> 0 dopo aver impostato su 
Me.ctlTextBox.SetFocus e
SendMessage(GetFocus(), EM_LINESCROLL, 0, 5) restituisce ovviament 0!
dove  EM_LINESCROLL = &HB6
?
Daniele 


Non ho capito ... ma il classico SelStart=Len(Controllo) non potrebbe
essere quello che dici...??
 @Alex
P.S. Mi sembra che tu stia prendendo abitudini pericolose... Access e
le API sono cose un pò a rischio per certe operazioni, proprio per la
strana gestione degli Handle, e nonostante tu abbia recuperato l'hWnd
del controllo dopo il Focus... io stesso ho visto parecchie zozzerie
poi nel reale riconoscimento del corretto hWnd e di conseguenza di
poter applicare a questo tutte le regole dei normali controlli di
Windows...!

 Windows...!
Di questo ho gi� fatto spese in passato e nonostante la corretta 
programmazione i risultati con le finestre sono un po' aleatori
Ho bisogno di simulare un ctrl+fine sulla casella di testo (non label) 
piuttosto lunghetta che viene popolata di tanto in tanto, ma senza l'uso del 
famigerato sendkeys (non so nemmeno perch� esiste) e senza popolarla a 
ritroso.
Vedi thread "eseguire lo Scroll alla fine di una casella di steso con barra 
scroll lateral"
Mi sembrava cos� semplice... due o tre istruzioni al massimo...
Che ne pensi?
Grazie
Daniele

 Daniele
Ma hai provato quello che ti ho detto...??????!!!!!!!
Me!NomeControllo.SelStart = Len("" & Me!NomeControllo)
@Alex

 @Alex
Hai ragione ad incazzarti.
Ma non funge.
Anche con me.repaint
?

 - Mostra testo citato -
Come non FUNGE....??
Io ho provato con una TextBox con dentro del TESTO...
Messo un Button per simulare l'azione così:
Private Sub NomeButton_Click()
    Me!NomeControllo.SetFocus
    Me!NomeControllo.SelStart = Len("" & Me!NomeControllo)
End Sub
Il cursore si posiziona alla FINE.
Tu devi avere degli spiritelli nel tuo Access...
;-)
@Alex

 @Alex
Non so se sia Access ad avere gli spiritelli oppore sono i loro fumi (intesi 
come alcool) che mi annebbiano
Ci sono delle condizioni per cui la casella perde il focus quasi subito 
annullando l'effetto di SelStart (mai usato prima d'ora)
Help in linea d� per scontato che se utilizzo SelStart � un invito alla 
modifica non specificando presumento che il focus non venga perso (essendo 
casella di testo � suscettibile di modifiche)
Ovviamente SelStart non � un metodo supportato da una Label
Infatti il contrllo LogStatus � una casella di testo .Locked = True 
(anomala) con comportamento Label con barre di scorrimento verticale.
L'unica soluzione � restiruirli il focus dopo ogni modifica e su Gotfocus 
eseguire SelStart
Alternative?
Grazie
Daniele 

 ?
Ma, per caso, parliamo di una maschera Popup? 


S� � popup
Daniele 

 S� � popup
Il problema dovrebbe essere causato dalla caratteristica 'Popup' della tua 
Form.
Prova a impostarla come normale e il codice che ti crea problemi dovrebbe 
funzionare...
Ciao: Oscar 


Non funge
EM_LINESCROLL vale &HB6

 EM_LINESCROLL vale &HB6
?
Intendevo con SelStart
Ciao: Oscar


SelStart ha bisogno che il focus sia mantenuto a prescindere se sia popup.
Grazie 

 SelStart ha bisogno che il focus sia mantenuto a prescindere se sia popup.
Boh, proprio non riesco a capire il contesto ... a me parrebbe ovvio che lo 
scroll automatico a fine testo si voglia ottenere quando il campo ottiene il 
focus.
Ciao: Oscar 


E' una storia lunga. (tutto raccontato nel thread)
Buon ferragosto  e grazie per la diponibilit�.
Ciao
Daniele