Domanda

Ad esempio, supponiamo che sto modificando il seguente testo (\ t è per le schede, non è un testo) '\ t \ t \ tAlcuni testi ...' e la mia posizione della tastiera di input si trova subito prima di "S" (non c'è testo selezionato) e voglio ottenere il numero di schede prima di "S" (in questo caso è 3)

Quindi, come ottenere quel numero di schede usando l'API Win32?

P.S. Forse qualche funzione per ottenere l'intera riga corrente (e quindi analizzare quel testo)?

modifica: Quindi voglio che il mio programma (che è in esecuzione in background e non abbia una GUI) per determinare il numero di schede dalla riga attiva corrente in qualsiasi editor di testo attualmente attivo (che sto modificando).

È stato utile?

Soluzione

Per alcune applicazioni come il Blocco note di Windows standard, potrebbe essere possibile farlo da un'altra applicazione. Il blocco note stesso è poco più che grande Win32 " Edit " control all'interno di una finestra ridimensionabile, in modo che tutti i normali messaggi di controllo di Win32 Edit possano essere utilizzati per ottenere il testo effettivo, la posizione del cursore e così via.

Tuttavia, nel caso generale di qualsiasi editor di testo di Windows, non è necessario che le applicazioni utilizzino un controllo di modifica Win32 per le loro esigenze di modifica del testo (e in effetti, per farlo sarebbe solo reinventare il Blocco note). Non esiste un metodo API Win32 standard per scoprire dove punta il cursore, perché l'applicazione è libera di disegnare il testo sullo schermo in qualsiasi modo lo ritenga opportuno (e memorizzerà quel testo internamente all'interno dell'applicazione senza API corrispondenti per te chiamare).

Altri suggerimenti

La migliore pratica di codifica Java è rendere la piattaforma del sistema operativo in codice il più indipendente possibile. Se stai cercando di implementare un'utilità intrinsecamente specifica per Windows (ad es. Fortemente dipendente dalle API Win32), sarebbe meglio usare C ++ o C # anziché Java.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top