TextDocumentKeyPressEvents TextDocumentKeyPressEvents TextDocumentKeyPressEvents TextDocumentKeyPressEvents TextDocumentKeyPressEvents TextDocumentKeyPressEvents Interface

Definition

Defines events associated with a key press. Use this object for functionality and refer to TextDocumentKeyPressEventsClass for this object's member documentation.

public interface class TextDocumentKeyPressEvents : EnvDTE80::_dispTextDocumentKeyPressEvents_Event, EnvDTE80::_TextDocumentKeyPressEvents
public interface class TextDocumentKeyPressEvents : EnvDTE80::_dispTextDocumentKeyPressEvents_Event, EnvDTE80::_TextDocumentKeyPressEvents
__interface TextDocumentKeyPressEvents : EnvDTE80::_dispTextDocumentKeyPressEvents_Event, EnvDTE80::_TextDocumentKeyPressEvents
[System.Runtime.InteropServices.CoClass(typeof(EnvDTE80.TextDocumentKeyPressEventsClass))]
[System.Runtime.InteropServices.Guid("505B7600-8FCC-487C-9E4F-C7FD0B5FB690")]
public interface TextDocumentKeyPressEvents : EnvDTE80._dispTextDocumentKeyPressEvents_Event, EnvDTE80._TextDocumentKeyPressEvents
type TextDocumentKeyPressEvents = interface
    interface _TextDocumentKeyPressEvents
    interface _dispTextDocumentKeyPressEvents_Event
Public Interface TextDocumentKeyPressEvents
Implements _dispTextDocumentKeyPressEvents_Event, _TextDocumentKeyPressEvents
Derived
Attributes
Implements

Examples

This example creates a small string dictionary and uses it to automatically translate some English words for colors to their hexadecimal representations by connecting to a BeforeKeyPress event. Replace the code in Connect.cs file with the example code below. Run this add-in and open a text document in the Visual Studio integrated development environment (IDE). In the text document, type "red", "green" or "blue" to see the event-capturing method translate the text to "#ff0000", "#00cc00", and "#0000ff", respectively.

namespace myAddin  
{  
  using System;  
  using Microsoft.VisualStudio.CommandBars;  
  using Extensibility;  
  using EnvDTE;  
  using EnvDTE80;  
  using System.Windows.Forms;  
  public class Connect : Object, IDTExtensibility2  
  {  
  public Connect()  
  {  
  }  
  public void OnConnection(object application,   
ext_ConnectMode connectMode, object addInInst, ref Array custom)  
  {  
      _applicationObject = (DTE2)application;  
      _addInInstance = (AddIn)addInInst;  
      // Create a small string dictionary with keys and corresponding  
      // values.  
      myStringDictionary = new  
 System.Collections.Specialized.StringDictionary();  
      myStringDictionary.Add("red", "#ff0000");  
      myStringDictionary.Add("green", "#00cc00");  
      myStringDictionary.Add("blue", "#0000ff");  
      EnvDTE80.Events2 events =  
 (EnvDTE80.Events2)_applicationObject.Events;  
      textDocKeyEvents =  
 (EnvDTE80.TextDocumentKeyPressEvents)  
events.get_TextDocumentKeyPressEvents(null);  
      // Connect to the BeforeKeyPress delegate exposed from the  
      // TextDocumentKeyPressEvents object retrieved above.  
      textDocKeyEvents.BeforeKeyPress +=new  
 _dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler  
(BeforeKeyPress);  
  }  
  public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)  
  {  
      if (textDocKeyEvents != null)  
      {  
          textDocKeyEvents.BeforeKeyPress -= new   
_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler  
(BeforeKeyPress);  
      }  
  }  
  public void OnAddInsUpdate(ref Array custom)  
  {  
  }  
  public void OnStartupComplete(ref Array custom)  
  {  
  }  
  public void OnBeginShutdown(ref Array custom)  
  {  
  }  
  void BeforeKeyPress(string Keypress, EnvDTE.TextSelection Selection,  
 bool InStatementCompletion, ref bool CancelKeypress)  
  {  
  if ((Keypress == " ") || (Keypress == "\t"))  
      {  
          EditPoint ep = Selection.ActivePoint.CreateEditPoint();  
          EditPoint sp = ep.CreateEditPoint();  
          sp.CharLeft(1);  
          while (true)  
          {  
              string txt = sp.GetText(ep);  
              if (myStringDictionary.ContainsKey(txt))  
              {  
                  sp.Delete(txt.Length);  
                  sp.Insert(myStringDictionary[txt]);  
                  CancelKeypress = true;  
                  return;  
              }  
          sp.CharLeft(1);  
          if ((ep.Line != sp.Line) || ((ep.DisplayColumn == 1)   
&& (ep.Line == 1)))  
              break;  
          }  
       }  
  }  
  private DTE2 _applicationObject;  
  private AddIn _addInInstance;  
  private EnvDTE80.TextDocumentKeyPressEvents textDocKeyEvents;  
  System.Collections.Specialized.StringDictionary myStringDictionary;  
  }  
}  

Methods

add_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) add_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) add_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) add_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) add_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) add_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler)

add_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) add_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) add_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) add_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) add_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) add_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler)

remove_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) remove_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) remove_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) remove_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) remove_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler) remove_AfterKeyPress(_dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler)

remove_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) remove_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) remove_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) remove_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) remove_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler) remove_BeforeKeyPress(_dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler)

Events

AfterKeyPress AfterKeyPress AfterKeyPress AfterKeyPress AfterKeyPress AfterKeyPress

Microsoft Internal Use Only.

(Inherited from _dispTextDocumentKeyPressEvents_Event)

BeforeKeyPress BeforeKeyPress BeforeKeyPress BeforeKeyPress BeforeKeyPress BeforeKeyPress

Microsoft Internal Use Only.

(Inherited from _dispTextDocumentKeyPressEvents_Event)

Applies to