IVsCompletionSet.OnCommit - метод
Указывает, что текст завершено.
Пространство имен: Microsoft.VisualStudio.TextManager.Interop
Сборка: Microsoft.VisualStudio.TextManager.Interop (в Microsoft.VisualStudio.TextManager.Interop.dll)
Синтаксис
'Декларация
Function OnCommit ( _
pszSoFar As String, _
iIndex As Integer, _
fSelected As Integer, _
cCommit As UShort, _
<OutAttribute> ByRef pbstrCompleteWord As String _
) As Integer
int OnCommit(
string pszSoFar,
int iIndex,
int fSelected,
ushort cCommit,
out string pbstrCompleteWord
)
int OnCommit(
[InAttribute] String^ pszSoFar,
[InAttribute] int iIndex,
[InAttribute] int fSelected,
[InAttribute] unsigned short cCommit,
[OutAttribute] String^% pbstrCompleteWord
)
abstract OnCommit :
pszSoFar:string *
iIndex:int *
fSelected:int *
cCommit:uint16 *
pbstrCompleteWord:string byref -> int
function OnCommit(
pszSoFar : String,
iIndex : int,
fSelected : int,
cCommit : ushort,
pbstrCompleteWord : String
) : int
Параметры
pszSoFar
Тип: String[in] текст печатанное на данный момент.
iIndex
Тип: Int32[in] индекс, определяющий элемент набора завершений совпадения.
fSelected
Тип: Int32[in] указывающее, выбран ли элемент завершения в окне завершения. If GetDisplayTextзатем значение trueпараметр заменяется текстом, возвращаемым by pszSoFar . If trueэто означает, что S_OK возвращает значение pbstrCompleteWord равно pszSoFar соответствующую по умолчанию применяются расширения функциональности. По умолчанию для атрибута fSelected используется значение true.
cCommit
Тип: UInt16[in] последний знак, типизирован.
pbstrCompleteWord
Тип: String%[out] возвращает полное машинное слово.
Возвращаемое значение
Тип: Int32
Если метод завершается успешно, возвращается S_OK.Если происходит сбой, возвращается код ошибки.
Заметки
Модель COM подписи
Из textmgr.idl:
HRESULT IVsCompletionSet::OnCommit(
[in] const WCHAR *pszSoFar,
[in] long iIndex,
[in] BOOL fSelected,
[in] WCHAR cCommit,
[out] BSTR *pbstrCompleteWord
);
Реализуйте этот метод позволяет настраивать, когда и как возобновленья выписки будут зафиксированы в текст.
По умолчанию функциональности вызывает фиксацию, если пользователь нажимает все стандартные символы завершения. Стандартные символы завершения все символы, отличные от буквенно-цифровых, кроме "~" и "_". Замена текста происходит при фиксации, только если максимально точного соответствия текстовый элемент в данный момент выбран в списке завершения выписки удаления. Это текст, который заменит текст печатанное на данный момент.
Этот метод вызывается, только если значение CSF_CUSTOMCOMMIT определяет для флагов набора завершений. Этот метод вызывается один раз для каждого символа этого пользовательские типы во время выполнения выписки активно.
Если этот метод вернул S_FALSEнет commit не происходит и символ вставляется как обычный (non-завершая).
Примечание
Не возвращайте S_FALSE если символ " a " Табуляция OR CTRL-ENTERпоскольку эти принужденные варианты фиксации.
Если этот метод вернул S_OK, фиксация происходит. If fSelected существует trueпосле этого в возвращаемое значение pbstrCompleteWord заменяет текст печатанное на данный момент. If fSelected существует false либо возвращаемое pbstrCompleteWord значение nullссылка NULL (Nothing в Visual Basic), затем существующий текст не заменяется, фиксацией.
Примеры
Ниже приведен пример метода 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;
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.VisualStudio.TextManager.Interop - пространство имен