Scorrimento a livello di programmazione di un controllo di modifica di Windows
-
12-12-2019 - |
Domanda
C'è un modo per scorrere a livello di programmazione un controllo di modifica monostrato in Windows?
Ad esempio, se il testo in un controllo di modifica è troppo grande da visualizzare contemporaneamente, quindi il comportamento predefinito quando il controllo di modifica riceve la messa a fuoco è selezionare tutto il testo e mostrare la fine del testo.Mi piacerebbe invece mostrare l'inizio del testo (pur lasciando tutto il testo selezionato).
Soluzione
Sebbene ci sia (apparentemente) nessuna API per lo scorrimento all'inizio e selezionando tutto il testo, sembra funzionare per simulare i tasti che farebbero lo stesso:
#ifndef CTRL
#define CTRL(x) (x&037)
#endif
SendMessage(edit_handle, WM_KEYDOWN, VK_HOME, 0);
SendMessage(edit_handle, WM_CHAR, CTRL('A'), 0);
. Altri suggerimenti
Puoi chiamare SetScrollpos o invia il WM_VSCROLL / Wm_hscroll messaggio direttamente alla finestra.Puoi trovare l'elenco completo delle funzioni di scorrimento qui .