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] 완료 상자에서 완성 항목 선택 여부를 나타냅니다. 경우 true, 다음 값은 pszSoFar 매개 변수에서 반환 하는 텍스트 대체 됩니다 GetDisplayText. 경우 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, 특정 발생 및 일반 (비-완료) 문자로 문자가 삽입 됩니다.
참고
반환 하지 않습니다 S_FALSE 문자의 경우는 탭 또는 CTRL 입력, 이러한 강제 커밋 경우 이기 때문입니다.
이 메서드가 반환 하면 S_OK에서 커밋이 발생 합니다. 경우 fSelected 입니다 true에서 반환 된 값을 다음 pbstrCompleteWord 지금까지 입력 한 텍스트를 대체 합니다. 경우 fSelected 입니다 false 나는 반환 된 pbstrCompleteWord 값이 nullNull 참조(Visual Basic의 경우 Nothing), 커밋 중에 기존 텍스트가 대체 됩니다지 않습니다.
예제
다음 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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용를 참조하세요.