Re: How to get text from the VC editor from within an Add-In?
On Wed, 27 Feb 2008 08:59:35 -0800 (PST), Ricky <ricky2m_1974@yahoo.co.uk>
wrote:
I have created an add-in by use of the Add-In wizard for the Visual C+
+ 6.0 enviroment. I now need this add-in to access the line of code
that is at the current cursor point.
I have searched through MSDN on the microsoft web site and have found
that it may have something to do with the Application object, but the
code that the wizard has produced does not include this object (and
all the examples are in VB which does not help!).
Can anyone help me??
To get you started, here's some VC6 code that binds to an existing MSDEV,
and if it isn't running, starts one, opens a file, moves the cursor to a
specific line, and selects it.
#import <devshl.dll>
namespace VC = DSSharedObjects;
#import <devedit.pkg>
namespace VCT = DSTextEditor;
....
VC::IApplicationPtr pApp;
// Start up existing msdev, if available
if (pApp.GetActiveObject(__uuidof(VC::Application)) != S_OK)
E::Co::Vet(pApp.CreateInstance(
__uuidof(VC::Application), 0, CLSCTX_LOCAL_SERVER));
pApp->Visible = VARIANT_TRUE;
pApp->Active = VARIANT_TRUE;
if (VCT::ITextDocumentPtr pTextDoc =
VC::IDocumentsPtr(pApp->Documents)->Open(filename))
{
if (VCT::ITextSelectionPtr pTextSel = pTextDoc->Selection)
{
pTextSel->GoToLine(lineno);
pTextSel->SelectLine();
}
}
}
--
Doug Harrison
Visual C++ MVP