andreas michael thul

Musik & Technik


Schlagwort: Visual Studio 6

Status von dialogbasierten Menüelementen in C++ ändern

Während sich der Status eines Menüelements bei fensterbasierten Menüs problemlos mittels “Enable”, “SetCheck”, “SetRadio” oder “SetText” auf ausgegraut, mit Häkchen versehen usw ändern lässt, zeigen die gleichen Befehle bei dialogbasierten Menüs keine Wirkung.

void CTestDlg::OnUpdateTestProc(CCmdUI* pCmdUI)
{
    pCmdUI->SetCheck(TRUE); // Bewirkt offensichtlich gar nichts.
}

Im KnowledgeBase-Artikel “Q242577” erklärt Microsoft nicht nur, daß es sich hierbei um “This behavior is by design.” handelt, sondern auch, wie man das gewünschte Verhalten doch erreichen kann.

 

Microsoft Visual Studio 6 unter Windows 7 installieren

Microsoft Visual Studio 6 unter Windows 7 installieren

Seit Jahren bietet Microsoft unter dem Banner Visual Studio Expess verschiedene Entwicklungsumgebungen (Visual Basic, Visual C##, Visual C++) zum kostenlosen Download an. Die Express-Versionen sollen vor allem Einsteigern die ersten Schritte erleichtern, wurden allerdings um einige Features beschnitten – so bleiben z.B. die MFC-Bibliotheken den Benutzern von Visual Studio Standard (und höher) vorbehalten.

Was liegt näher, als zum Kompilieren vorhandener MFC-Projekte ein vorhandenes Visual Studio 6 aus der Mottenkiste zu kramen und unter Windows 7 zu installieren – ein Schritt, vor dem Microsoft beim Aufruf des Setups allerdings eindringlich warnt.

 

Windows-Theming mit Visual Studio 6

Um einem Visual Studio 6-Projekt den aktuellen Window-Stil (XP / Vista / 7) hinzuzufügen, muß zuerst eine XML-Datei unter dem Namen “manifest.xml” erstellt werden:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
 xmlns="urn:schemas-microsoft-com:asm.v1"
 manifestVersion="1.0">
 <assemblyIdentity
 processorArchitecture="x86"
 version="5.1.0.0"
 type="win32"
 name="__Name der .EXE-Datei__"/>
 <description>__Beschreibung der .EXE-Datei__</description>
 <dependency>
 <dependentAssembly>
 <assemblyIdentity
 type="win32"
 name="Microsoft.Windows.Common-Controls"
 version="6.0.0.0"
 publicKeyToken="6595b64144ccf1df"
 language="*"
 processorArchitecture="x86"/>
 </dependentAssembly>
 </dependency>
</assembly>

Anschließend den Dialog zum Hinzufügen einer neuen Resource mittels “Einfügen” / “Resource” (oder wahlweise Strg+R) öffnen und auf “Importieren” klicken.