|
Es kommt häufiger vor, dass man während der Arbeit mit einer Ressourcen-Datei auf die eigentliche .rc-Datei direkt zugreifen möchte, anstatt über den Ressourcen-Editor zu arbeiten. Der normale Weg dafür besteht darin,
- den Datei-Öffnen-Dialog zu starten,
- die .rc-Datei zu suchen,
- die OpenAs Combobox auf Text zu setzen
- und dann OK anzuklicken, um die Datei zu öffnen.
Anschließend erzeugt Visual Studio die Meldung, dass zunächst die Ressourcen-Datei geschlossen werden muss, bevor sie erneut im Textmodus geöffnet werden kann. Dies erfordert einen weiteren Klick.
Mit einem Makro lässt sich dieser Klickaufwand jedoch erheblich reduzieren, indem die Ressourcen-Datei direkt als Textdatei angezeigt wird.
sub OpenRCAsText()
if Windows.Count > 0 then
rc_name = ActiveDocument.FullName
Liegt eine .rc-Datei vor, wird sie als Textdatei geöffnet.
if InStrRev( rc_name, ".rc" ) > 0 then
rc_wnd_name = ActiveWindow.Caption
Documents.Open rc_name, "Text"
Anschließend erfolgt eine einfache Suche nach der Ressource in der .rc-Datei.
rc_part = ".rc - "
res_name_start = InStr(rc_wnd_name, rc_part) + Len(rc_part)
res_name_end = InStr( res_name_start, rc_wnd_name, " " )
if res_name_end > res_name_start then
res_name = Mid(rc_wnd_name, res_name_start,
res_name_end - res_name_start )
ActiveDocument.Selection.FindText "^ *" & res_name,
dsMatchFromStart + dsMatchRegExp
ActiveDocument.Selection.StartOfLine
end if
end if
elseif Documents.Count >= 1 then
rc_name = ActiveProject.FullName
dot_pos = InStrRev( rc_name, "." )
rc_name = Left( rc_name, dot_pos ) & "rc"
on error resume next
Documents.Open rc_name, "Text"
if Err.Number < 0 then
MsgBox( "VC++ kann die Ressourcendatei " & rc_name & _
"für dieses Projekt " & ActiveProject.Name &
" nicht öffnen.")
end if
on error goto 0
end if
end sub
| Lösung
|