IVsCompletionSet.OnCommit(String, Int32, Int32, UInt16, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.