Сообщений 18    Оценка 215        Оценить  
Система Orphus

Макрос для подключения MSDN .NET к Visual C++ 6.0

Автор: Соловьев Игорь
Опубликовано: 05.11.2002
Исправлено: 13.03.2005
Версия текста: 1.0
Описание
Инструкция по применению
Текст макроса RunMSDNdotNET

Описание

Выпустив Visual Studio .NET компания Microsoft стала распространять MSDN в новой, более удобной и «продвинутой» оболочке, называемой Microsoft Document Explorer. К сожалению, Microsoft почему-то «забыла» предложить приемлемый способ использования новых редакций MSDN в старой доброй IDE от Visual C++ 6.0. Вместо этого в официальной документации декларируется попросту несовместимость новых версий MSDN с инструментальными средами старых версий. Необходимость же частого и оперативного использования подобной связки, возможно, возникла не только у автора этих строк. Но все ли так безнадежно? Публикуемый макрос призван частично ликвидировать вынужденные неудобства пользователей MS VC 6.0, заставив послужить ещё технологию COM на благо разработчиков, не торопящихся перейти к использованию последней версии Visual C++, но нуждающихся в самой свежей справочной информации.

Инструкция по применению

ПРИМЕЧАНИЕ

Все упомянутые торговые марки являются собственностью соответствующих владельцев.

Текст макроса RunMSDNdotNET

'--------------------------------------------------------------
'Global variable for MSDN.NET window.
dim HelpApp

Sub RunMSDNdotNET()
'DESCRIPTION: Call external MSDN .NET Help!
' (C) 2002 Igor Solovyov (siv@bravoport.com.ua)
'  v.1.2
  Dim sel
  Dim LineNum
  Dim ColNum

  'PrintToOutputWindow VarType(ActiveDocument)
  If VarType(ActiveDocument) = vbObject Then '9
    Exit Sub
  End If
  
  sel = ActiveDocument.Selection.Text

  if ActiveDocument.Selection = "" Then
    LineNum = ActiveDocument.Selection.CurrentLine
    ColNum = ActiveDocument.Selection.CurrentColumn
 
    ActiveDocument.Selection.WordRight dsMove
    ActiveDocument.Selection.WordLeft dsExtend
 
    sel = ActiveDocument.Selection.Text
 
    ActiveDocument.Selection.MoveTo LineNum, ColNum
  End If
 
  sel = RTrim( LTrim( sel ) )
  
  '---------------------------
  'ProgID  = DExplore.AppObj
  'TypeLib = {83285928-227C-11d3-B870-00C04F79F802}
  '  C:\Program Files\Common Files\Microsoft Shared\MSEnv\vshelp.tlb
  '
  'ms-help://MS.VSCC
  '---------------------------

  if IsEmpty(HelpApp) Then
    Set HelpApp = CreateObject("DExplore.AppObj")
  End If
  
  'Set the January 2002 Collection and "Visual C++ and Related" filter
  HelpApp.SetCollection "ms-help://MS.VSCC", "Visual C++ and Related"
  '"" - Collection w\o filtering. You can create your personal filter and insert it name here.
  'HelpApp.SetCollection "ms-help://MS.VSCC", "" 

  'HelpApp.ConTents()
  HelpApp.Index()

  On Error Resume Next
  'Trying to invoke context help on sel
  HelpApp.DisplayTopicFromKeyword( sel )
  HelpApp.DisplayTopicFromF1Keyword( sel )
  
  Dim wsh
  Set wsh = CreateObject("WScript.Shell")
  'If your MSDN help window have different title you have to pick it here!
  wsh.AppActivate( "Visual Studio .NET Combined Collection" )
End Sub


Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
    Сообщений 18    Оценка 215        Оценить