IVsCompletionSet.OnCommit(String, Int32, Int32, UInt16, String) Método

Definição

Determina como o texto é concluído.

public:
 int OnCommit(System::String ^ pszSoFar, int iIndex, int fSelected, System::UInt16 cCommit, [Runtime::InteropServices::Out] System::String ^ % pbstrCompleteWord);
int OnCommit(std::wstring const & pszSoFar, int iIndex, int fSelected, unsigned short cCommit, [Runtime::InteropServices::Out] std::wstring const & & pbstrCompleteWord);
public int OnCommit (string pszSoFar, int iIndex, int fSelected, ushort cCommit, out string pbstrCompleteWord);
abstract member OnCommit : string * int * int * uint16 * string -> int
Public Function OnCommit (pszSoFar As String, iIndex As Integer, fSelected As Integer, cCommit As UShort, ByRef pbstrCompleteWord As String) As Integer

Parâmetros

pszSoFar
String

no O texto digitado até o momento.

iIndex
Int32

no Índice que identifica o item de conjunto de conclusão de correspondência.

fSelected
Int32

no Indica se um item de conclusão está selecionado na caixa de conclusão. Se for true, o valor do pszSoFar parâmetro será substituído pelo texto retornado por GetDisplayText(Int32, String, Int32[]) . Se for true, isso indica que um S_OK retorno com o valor de pbstrCompleteWord igual a pszSoFar é o comportamento padrão apropriado. O valor padrão de fSelected é true.

cCommit
UInt16

no Último caractere que foi digitado.

pbstrCompleteWord
String

fora Retorna a palavra completa.

Retornos

Int32

Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.

Exemplos

Veja a seguir um exemplo do método OnCommit.

STDMETHODIMP CFigStatementCompletion::OnCommit(  
   /*[in] */ const WCHAR *pszSoFar,  
   /*[in] */ long iIndex,  
   /*[in] */ BOOL fSelected,  
   /*[in] */ WCHAR cCommit,  
   /*[out]*/ BSTR *pbstrCompleteWord )  
{  
      if (IsCharAlphaNumeric(cCommit) || cCommit == ':' || cCommit == '_')  
       {  
              // continue trying to match without completion  
              return S_FALSE;  
       }  
       if (null == pbstrCompleteWord)  
         return E_POINTER;  
       *pbstrCompleteWord = SysAllocString(m_vecCompletions[ iIndex ]);  
       return S_OK;  
}  

Comentários

Assinatura COM

De textmgr. idl:

HRESULT IVsCompletionSet::OnCommit(  
   [in] const WCHAR *pszSoFar,  
   [in] long iIndex,  
   [in] BOOL fSelected,  
   [in] WCHAR cCommit,  
   [out] BSTR *pbstrCompleteWord  
);  

Implemente esse método para personalizar quando e como as conclusões de instrução são confirmadas em texto.

O comportamento padrão causará uma confirmação se o usuário pressionar qualquer um dos caracteres de preenchimento padrão. Os caracteres de preenchimento padrão são caracteres não alfanuméricos, com exceção de "~" e "_". A substituição de texto ocorrerá somente na confirmação se um item de texto de melhor correspondência estiver selecionado no momento na caixa de listagem drop de conclusão de instrução. É esse texto que substitui o texto digitado até o momento.

Esse método será chamado somente se um valor de CSF_CUSTOMCOMMIT for especificado para os sinalizadores do conjunto de conclusão. Esse método é chamado uma vez para cada caractere que o usuário digita enquanto a conclusão da instrução está ativa.

Se esse método retornar S_FALSE , nenhuma confirmação ocorrerá e o caractere será inserido como um caractere normal (sem preenchimento).

Observação

Não retornar S_FALSE se o caractere for uma Tabulação ou Ctrl-Enter, pois eles são casos de confirmação impostos.

Se esse método retornar S_OK , ocorrerá uma confirmação. Se fSelected for true , o valor retornado em pbstrCompleteWord substituirá o texto digitado até o momento. Se fSelected for false ou o pbstrCompleteWord valor retornado for null , o texto existente não será substituído na confirmação.

Aplica-se a