Share via


Beispiel für ATLBUTTON-Attribute: Demonstriert eine Schaltfläche mit Bitmaps für unterschiedliche Statuswerte

Das ATLBUTTON-Attribute erstellt eine Schaltfläche, die mit einem von drei verschiedenen Bitmaps, je nach den Zustand angezeigt. Die Schaltfläche besitzt eine Bitmap für den unpushed Zustand, den Hover-Zustand (Wenn die Maus über die Schaltfläche bewegt) und gedrückt. Standard-Bitmaps im Beispiel enthalten sind, aber Sie können diese Eigenschaften mit Ihren eigenen Bitmaps überschreiben.

In diesem Beispiel wird auch die Verwendung von mehreren IDL, COM und Compilerattribute veranschaulicht. Das Dispinterface-Attribut wird zum _ATLButton die Dispatch-Schnittstelle in der Datei atlbutn.idl abzulegen. Das Propputref-Attribut wird zum Verweise anstelle von Werten in den PictureStatic, PictureHover und PicturePush-Funktionen verwendet werden können. Neben anderen häufig verwendeten Attributen wird das Version-Attribut demonstriert.

SicherheitshinweisSicherheitshinweis

Dieser Beispielcode soll ein Konzept veranschaulichen, und es wird nur den Code, der für dieses Konzept relevant sind. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "Wie besehen"keine Garantien.

So erhalten Sie Beispiele und Anweisungen für deren Installation:

Um Beispiele von Visual Studio zuzugreifen

  • im Menü Hilfe Menü klicken Beispiele.

    Standardmäßig sind die Beispiele in installiert. Laufwerk: \Programme\Microsoft visual Studio 10.0\Samples\.

  • Die neueste Version dieses Beispiels und eine Liste der anderen Beispiele finden Sie unter Visual Studio Samples auf der MSDN-Website.

Erstellen und Ausführen des Beispiels

So erstellen und in diesem Beispiel führen

  1. Öffnen Sie die Projektmappe Datei atlbutn.sln.

  2. From the Build menu, click Build Solution.

  3. Öffnen Sie den Testcontainer für ActiveX-Steuerelemente und fügen Sie das Steuerelement (CAtlButton-Objekt). Details zu den Testcontainer zugreifen und es zum Testen eines Steuerelements verwenden finden Sie unter Testen von Eigenschaften und Ereignissen mit Testcontainer.

  4. Öffnen Sie das Eigenschaftendialogfeld für das Steuerelement, und ordnen ein Bild jede der aufgeführten Eigenschaften, indem der Beispielordner durchsuchen, eine BMP-Datei auswählen und auf übernehmen.

  5. Beachten Sie, wie das Bild im Steuerelement ändert angezeigt, wenn der Mauszeiger darauf zeigt, oder wenn das Steuerelement geklickt wird.

Attribute

In diesem Beispiel werden die folgenden Attribute verwendet:

coclass , default, dispinterface, dll, dual, event_source, helpstring, id, implements_category, in, module, name, object, out, pointer_default, progid, propget, propput, propputref, registration_script, retval, support_error_info, uuid, version, vi_progid

Schlüsselwörter

In diesem Beispiel werden die folgenden Schlüsselwörter verwendet:

Apartment; ATLTRACE; AtlWaitWithMessageLoop; BEGIN_COM_MAP; BEGIN_CONNECTION_POINT_MAP; BEGIN_MSG_MAP; BEGIN_OBJECT_MAP; BEGIN_PROPERTY_MAP; CComCoClass; CComControl; CComControl::FireViewChange; CComControl::InPlaceActivate; CComModule::GetClassObject; CComModule::GetLockCount; CComModule::Init; CComModule::RegisterServer; CComModule::Term; CComModule::UnregisterServer; CComObjectRoot; CloseHandle; CoGetInterfaceAndReleaseStream; CoInitialize; COleControl::OnClick; COM_INTERFACE_ENTRY; COM_INTERFACE_ENTRY_IMPL_IID; CoMarshalInterThreadInterfaceInStream; CONNECTION_POINT_ENTRY; CProxy_ATLButton; CreateDIBPalette; CreatePalette; CreateThread; CTimer; DECLARE_HANDLE; DECLARE_REGISTRY_RESOURCEID; DIBNumColors; DisableThreadLibraryCalls; DLL_PROCESS_DETACH; END_COM_MAP; END_CONNECTION_POINT_MAP; END_MSG_MAP; END_OBJECT_MAP; END_PROPERTY_MAP; GetCursorPos; GetFileSize; GetWindow; GlobalAlloc; GlobalFree; GlobalLock; GlobalSize; GlobalUnlock; IConnectionPointContainerImpl; IConnectionPointImpl; IDispatchImpl; IObjectSafetyImpl; IOleControlImpl; IOleInPlaceActiveObjectImpl; IOleInPlaceObjectWindowlessImpl; IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate; IOleObjectImpl; IPersistPropertyBagImpl; IPersistStreamInitImpl; IProvideClassInfo2Impl; IViewObjectExImpl; LPLOGPALETTE; MESSAGE_HANDLER; OBJECT_ENTRY; PaintDIB; PaletteSize; PROP_ENTRY; PtInRect; PutImage; ReadDIBFile; ReadFile; RealizePalette; ScreenToClient; SelectPalette; SetDIBitsToDevice; SetStretchBltMode; Sleep; StretchDIBits; TimerOff; TimerOn; Unlock; USES_CONVERSION

Hinweis

Einige Beispiele wie diesen, wurden nicht geändert, um Änderungen in der Visual C++-Assistenten, Bibliotheken und Compiler, demonstrieren aber dennoch wie Sie die gewünschte Aufgabe durchführen.

Siehe auch

Weitere Ressourcen

ATL-Attributbeispiele