Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Nell'esempio IME viene utilizzata CIMEEdit, una sottoclasse di CEdit, per creare un controllo di modifica. CIMEEdit consente di gestire tutti i caratteri immessi e di comporre stringhe DBCS. Nell'esempio sono incluse le funzionalità seguenti:
Viene illustrato come controllare la modalità IME utilizzando C/C++. È possibile impostare la modalità IME iniziale di CIMEEdit per l'inserimento dei caratteri di una lingua, di forme e così via. Se si desidera ad esempio che il controllo di modifica sia inizialmente impostato per il riconoscimento dei caratteri coreani, è possibile utilizzare il codice proposto in questo esempio. Se invece si desidera impostare solo la lingua inglese, è possibile disattivare IME.
Viene illustrato come implementare il livello IME 3 nel codice sorgente. Il livello IME 3 è particolarmente utile per gli utenti dei paesi dell'Asia orientale. Utilizzando questo esempio, è possibile creare una finestra o un controllo personalizzato che supporta il livello IME 3.
Mediante questo esempio è possibile determinare il tipo di carattere e la tabella codici utilizzati dal layout della tastiera per la conversione Ansi-Unicode, in modo da poter provare quattro diversi IME per tutte le lingue dell'Asia orientale senza dover cambiare il tipo di carattere o la tabella codici. Questa funzionalità è una caratteristica di Windows 2000 e non rappresenta uno dei requisiti per il supporto del livello IME 3.
In questo esempio, la funzione GetCombinedCharLength supporta solo caratteri surrogato. Per fornire il supporto anche per i caratteri combinati, è necessario aggiungere codice personalizzato al metodo.
Per utilizzare le funzioni IME, è necessario che il programma includa il file IMM.H e un collegamento a IMM32.LIB.
Nota sulla sicurezza: |
|---|
Questo esempio di codice viene fornito solo a scopo dimostrativo e non deve essere utilizzato in applicazioni o siti Web, poiché potrebbe non implementare le tecniche migliori a livello di sicurezza. Microsoft esclude ogni responsabilità per danni diretti o indiretti derivanti dall'utilizzo dell'esempio di codice per scopi diversi da quelli previsti. |
Per ottenere gli esempi e le istruzioni per l'installazione:
In Visual Studio scegliere Esempi dal menu ?.
Per ulteriori informazioni, vedere Individuazione dei file di esempio.
La versione più recente e l'elenco completo degli esempi sono disponibili in linea alla pagina Visual Studio 2008 Samples.
È anche possibile trovare gli esempi sul disco rigido del computer. Per impostazione predefinita, gli esempi e il file Readme vengono copiati in una cartella nel percorso \Programmi\Visual Studio 9.0\Samples\. Per le versioni Express di Visual Studio, tutti gli esempi sono disponibili in linea.
Generazione ed esecuzione dell'esempio
Per generare ed eseguire l'esempio
Aprire il file di soluzione IME.sln.
Scegliere Genera dal menu Genera.
Scegliere Avvia senza eseguire debug dal menu Debug.
Eseguire l'esempio e verificare le funzionalità seguenti.
Controllo della modalità IME
La modalità IME può essere modificata mediante caselle di controllo. Se si cambiano le opzioni utilizzando le caselle di controllo, verrà aggiornato lo stato della finestra IME.
La modalità IME può essere modificata mediante la finestra IME. Se si cambiano le opzioni utilizzando la finestra IME, verranno aggiornate anche le caselle di controllo.
La modalità IME può essere attivata o disattivata.
Implementazione del livello IME 3
Se si immettono caratteri a byte doppio, è possibile osservare come vengono composte le stringhe.
Se si dispone del tipo di caratteri adatto in Windows 2000, è possibile osservare caratteri surrogato.
Classi e parole chiave
Nell'esempio vengono illustrate le classi seguenti:
CEdit
Nell'esempio vengono illustrate le seguenti parole chiave:
CBitmap::OnPaint; CEdit::OnChar; CEdit::OnSetFocus; CEdit::OnKillFocus; CEdit::OnKeyDown; CEdit::WindowProc; ImmGetContext; ImmReleaseContext; ImmGetConversionStatus; ImmSetConversionStatus; ImmGetOpenStatus; ImmSetOpenStatus; ImmAssociateContext; ImmNotifyIME; ImmGetCompositionString; ImmGetProperty; ImmSetCandidateWIndow; ImmSetCompositionWIndow
Nota sulla sicurezza: