Condividi tramite


Metodo ITextServices::TxSendMessage (textserv.h)

Usato dall'host della finestra per inoltrare messaggi inviati dalla finestra all'oggetto servizi di testo.

Sintassi

HRESULT TxSendMessage(
  UINT    msg,
  WPARAM  wparam,
  LPARAM  lparam,
  LRESULT *plresult
);

Parametri

msg

Tipo: UINT

Identificatore del messaggio.

wparam

Tipo: WPARAM

WPARAM dal messaggio della finestra.

lparam

Tipo: LPARAM

LPARAM dal messaggio della finestra.

plresult

Tipo: LRESULT*

Il messaggio restituisce LRESULT.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito è S_OK.

Se il metodo ha esito negativo, il valore restituito è uno dei codici HRESULT seguenti. Per altre informazioni sui codici di errore COM, vedere Gestione degli errori in COM.

Codice restituito Descrizione
E_OUTOFMEMORY
Memoria insufficiente. Messaggio NOERROR è stato elaborato e è stata eseguita un'azione.
S_FALSE
Il messaggio non è stato elaborato. In genere indica che il chiamante deve elaborare il messaggio stesso, potenzialmente chiamando DefWindowProc.
S_MSG_KEYIGNORED
Messaggio elaborato, ma non è stata eseguita alcuna azione per la sequenza di tasti.

Commenti

Si noti che due valori restituiti vengono passati di nuovo da questa funzione. Il valore restituito che deve essere passato da una routine di finestra è plresult. Tuttavia, in alcuni casi, l'LRESULT restituito non contiene informazioni sufficienti. Ad esempio, per implementare lo spostamento del cursore intorno ai controlli, è utile sapere se una sequenza di tasti (ad esempio la freccia destra) è stata elaborata, ma ignorata (ad esempio, il caret è già nella posizione più destra del testo). In questi casi, altre informazioni possono essere restituite tramite HRESULT restituito.

WM_CHAR e WM_KEYDOWN devono restituire il valore S_MSG_KEYIGNORED quando viene riconosciuta una chiave o un carattere, ma non ha alcun effetto, dato lo stato corrente. Ad esempio, S_MSG_KEYIGNORED deve essere restituito nei casi seguenti:

  • Qualsiasi sequenza di tasti che tenta di spostare il punto di inserimento verso o oltre l'inizio o la fine del documento; quando è già all'inizio o alla fine del documento, rispettivamente.
  • Qualsiasi sequenza di tasti che tenta di spostare il punto di inserimento verso o passare la riga successiva quando è già nell'ultima riga; o prima della riga precedente quando si trova già nella prima riga.
  • Qualsiasi inserimento del carattere da WM_CHAR che sposta il punto di inserimento oltre la lunghezza massima del controllo.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione textserv.h
DLL Msftedit.dll

Vedi anche

Informazioni concettuali

DefWindowProc

ITextServices

Altre risorse

WM_CHAR

WM_KEYDOWN

Controlli di modifica avanzati senza finestre