Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Container kann ein Steuerelement benachrichtigen, dass es nicht bereit ist, auf Ereignisse zu reagieren, indem IOleControl::FreezeEvents mit TRUEaufgerufen wird. Sie kann die Fixierung der Ereignisse aufheben, indem sie FreezeEvents- mit FALSE-aufrufen. Wenn ein Container Ereignisse einfriert, wird die Ereignisverarbeitung fixiert, nicht beim Empfangen des Ereignisses; d. h. ein Container kann weiterhin Ereignisse empfangen, während Ereignisse fixiert sind. Wenn ein Container eine Ereignisbenachrichtigung empfängt, während seine Ereignisse fixiert sind, sollte der Container das Ereignis ignorieren. Es ist keine andere Aktion geeignet.
Ein Steuerelement sollte den Aufruf eines Containers an FreezeEvents mit TRUE- notieren, wenn es wichtig ist, dass ein Ereignis nicht verpasst wird. Während die Ereignisverarbeitung eines Containers fixiert ist, sollte ein Steuerelement eine der folgenden Techniken implementieren:
- Löst die Ereignisse im vollständigen Wissen aus, dass der Container keine Aktion ausführen wird.
- Alle Ereignisse verwerfen, die das Steuerelement ausgelöst hätte.
- Alle ausstehenden Ereignisse in die Warteschlange stellen und diese auslösen, nachdem der Container FreezeEvents mit FALSE-aufgerufen hat.
- Stellen Sie nur relevante oder wichtige Ereignisse in die Warteschlange, und auslösen Sie sie, nachdem der Container FreezeEvents mit FALSE-aufgerufen hat.
Jede Technik ist in unterschiedlichen Situationen akzeptabel und angemessen. Der Steuerelemententwickler ist für die Ermittlung und Implementierung der geeigneten Technik für die Funktionalität des Steuerelements verantwortlich.