Artikel-ID: 160910 - Geändert am: Dienstag, 21. November 2006 - Version: 3.1

EINE vordefinierte Text oder Caption-Eigenschaft wird kein MFC-ActiveX-Steuerelement die Unterklassen hinzugefügt ein Kombinationsfeld oder Listenfeld

Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie einer Basiseigenschaft Text oder Beschriftung zu einem MFC-ActiveX-Steuerelement, dass Unterklassen ein Kombinationsfeld oder Listenfeld hinzufügen, wird es nicht ordnungsgemäß serialisiert werden.

Ursache

Wenn ein Container versucht, die Text oder Caption-Eigenschaft für ein MFC-ActiveX-Steuerelement zu lesen, ruft das MFC-Framework COleControl::GetText. GetText ruft COleControl::InternalGetText. InternalGetText versucht möglicherweise, die Text oder Caption-Eigenschaft des Steuerelements mit dem folgenden Aufruf abrufen:
   if (DefWindowProc(WM_GETTEXT, (WPARAM)_cchUsual,
       (LPARAM)m_strText.GetBufferSetLength(_cchUsual)) >= _cchUsual - 1)
				
dieser Aufruf gibt im Fall von Unterklasse Kombinationsfeld oder Listenfeld-Steuerelements zurück immer einen leeren Puffer.

Lösung

Es ist debatable, ob eine Text oder Caption-Eigenschaft für eine Unterklasse Kombinationsfeld oder Listenfeld haben sinnvoll. Der systemeigenen Liste und Combo Box Steuerelemente reagieren nicht auf die Nachrichten WM_SETTEXT oder WM_GETTEXT. Daher tritt das oben beschriebene Problem.

Wenn in Ihrer Anwendung sinnvoll, bietet es sich an dafür: beim Hinzufügen der Text oder Caption-Eigenschaft für das ActiveX-Steuerelement einfach Wählen Sie die vordefinierte Eigenschaft, und wählen Abrufen / Festlegen von Methoden. Dadurch erhalten Sie die Möglichkeit, die Text oder Caption-Eigenschaft behandelt, als wäre es eine benutzerdefinierte Eigenschaft.

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Weitere Informationen

Die Eigenschaften Text und Beschriftung des ActiveX-Steuerelement sind Synonym.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Foundation Class Library 4.2, wenn verwendet mit:
    • Microsoft Visual C++ 4.0 Standard Edition
    • Microsoft Visual C++ 4.1 Subscription
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
Keywords: 
kbmt kbtshoot kbcombobox kbctrl kblistbox kbprb KB160910 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 160910  (http://support.microsoft.com/kb/160910/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
 

SPRACHE AUSWÄHLEN