Didii Geschrieben 17. November 2002 Geschrieben 17. November 2002 Servus @all i bin ein weiteres Mitgliede der IT-Schule von der sich schon einige gemeldet haben (Swordmaster, jasso,...) mein Projekt geht über die Klasse CStatic. hab mich auch schon ein wenig damit befasst, hab jedoch gleich zu Anfang sehr große Probleme!!!:confused: in der MSDN steht, "The CStatic class provides the functionality of a Windows static control". Was ist ein Windows static control???? wäre sehr hilfreich wenn mir jemand das erklären könnte!!! Informationen wo ich mehr über diese Klasse finden kann ( ausser MSDN) wären auch sehr hilfreich. ich hoffe auf baldmögliche Antworten, weil ich schon ein wenig unter Zeitdruck stehe Danke so long didii Zitieren
Guybrush Threepwood Geschrieben 18. November 2002 Geschrieben 18. November 2002 Hi, ein static control ist ein Fenster welches Text oder Bilder beinhaltet und keine Eingaben vom Benutzer benötigt. Wenn sich z.B. so ein Popupfenster mit einer Nachricht und einem Button öffnet, dann befindet sich die Nachricht in einem static control. Gruß Guybrush Zitieren
Didii Geschrieben 20. November 2002 Autor Geschrieben 20. November 2002 wer kann mir sagen, was ein enhanced metafile ist?? wäre sehr dankbar für eine Antwort. so long didii Zitieren
Klotzkopp Geschrieben 20. November 2002 Geschrieben 20. November 2002 http://msdn.microsoft.com/library/en-us/gdi/metafile_3tir.asp Zitieren
Didii Geschrieben 20. November 2002 Autor Geschrieben 20. November 2002 habe ein CStatic - Objekt instanziert, doch beim initialisieren mit der Create - Methode motzt der Compiler! ich habe probleme bei der 3. Parameter- Angabe. in der MSDN ist es wie folgt beschrieben: BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); Mein Versuch: Beispiel.Create(Text, SS_BLACKFRAME, RECT.top(10), IDD_PROJEKT_DIALOG, IDC_TEXT); was mache ich falsch, bzw. wahrscheinlich hab ich was bei der RECT-Struktur nicht richtig verstanden! ich hoffe es kann mir jemand weiterhelfen. thankx so long didii Zitieren
Guybrush Threepwood Geschrieben 20. November 2002 Geschrieben 20. November 2002 Du mußt vorher eine Rect Variable anlegen und dieser die benötigten Werte zuweisen. Diese Variable mußt du der Funktion dann als Referenz (mit einem & davor) übergeben. Zitieren
Klotzkopp Geschrieben 20. November 2002 Geschrieben 20. November 2002 Originally posted by Guybrush Threepwood als Referenz (mit einem & davor). Mit einem & davor wäre ein Zeiger. Vom Aufruf her gibt es keinen Unterscheid zwischen Wert- und Referenzparameter. Zitieren
Didii Geschrieben 20. November 2002 Autor Geschrieben 20. November 2002 noch ein Problem, wie lege ich eine Rect - Variable an, habe noch nie mit dieser Struktur gearbeitet, bzw. das noch nie gebrauch, und es will einfach nicht klappen!!! wäre dankbar um eine Zeile Quelltext in der eine solche Variable incl. initialisierung angelegt wird. bitte helft mir. thankx so long didii Zitieren
Guybrush Threepwood Geschrieben 20. November 2002 Geschrieben 20. November 2002 Wie jede andere Variable auch: RECT Position; Position.top = 10; Position.bottom = 20; usw... [/PHP] Zitieren
Didii Geschrieben 20. November 2002 Autor Geschrieben 20. November 2002 erst einmal dankeschön. jetzt motzt der Compiler beim 3. Parameter nicht mehr. aber neues Problem was muss ich bei einer Dialogfeldbasierenden Klasse in C++ beim 4. Parameter der Create - Methode angeben??? ich hab mir gedacht, den Namen des Dialogfeldes, das geht jedoch nicht!!! kann mir jemand weiterhelfen??? cu didii Zitieren
Klotzkopp Geschrieben 20. November 2002 Geschrieben 20. November 2002 Der vierte Parameter ist ein Zeiger auf das Elternfenster. Bei Dir wäre das ein Zeiger auf die Instanz der Dialogklasse, oder schlicht und einfach this. Zitieren
Didii Geschrieben 21. November 2002 Autor Geschrieben 21. November 2002 ich habe ein Dialogfeldbasierendes Projekt, mit 2 statischen Feldern, Text und Bild. ich habe ein neues CStatic Object instanziert und mit Create initialisiert, was kann ich jetzt damit machen, wie kann es am Bildschirm ausgeben?? ich dachte mir dass ich es den Membervariablen für das Text und Bildfeld zuweisen kann, dem ist aber anscheinend nicht so! Wer kann mir helfen? und mir erklären was ich damit jetzt machen kann, oder wie ich eine statische Ausgabe auf den Dialog bringe?? muss bis nächste woche ein Projekt zu diesem sch..? machen und kapier das einfach nicht!!! bitte helft mir weiter danke so long didii Zitieren
Klotzkopp Geschrieben 22. November 2002 Geschrieben 22. November 2002 Originally posted by Didii ich habe ein neues CStatic Object instanziert und mit Create initialisiert, was kann ich jetzt damit machen, wie kann es am Bildschirm ausgeben??Wenn Du als Window-Style immer noch nur SS_BLACKFRAME angegeben hast, dann kannst Du nichts sehen. WS_VISIBLE sollte schon sein. Für ein Bitmap-Static-Control mit Rahmen empfehle ich: WS_CHILD | WS_VISIBLE | SS_BITMAP | WS_BORDER. Ist Deine CStatic-Instanz ein Member der Dialogklasse, oder eine lokale Variable in einer Methode? Zitieren
Didii Geschrieben 22. November 2002 Autor Geschrieben 22. November 2002 es ist eine lokale Variable, passt das?? wenn ich eine Dialogvariable habe, brauche ich den Konstruktor nicht oder??? dann kann ich einfach m_Variablenname.Create(...) oder??? wenn ich falsch liegen sollte bitte berichtigen danke für die bisherigen antworen es werden bestimmt noch weitere fragen auftreten! ich melde mich //**DUMM darf man sein, man muss sich nur zu helfen wissen**// Zitieren
Klotzkopp Geschrieben 22. November 2002 Geschrieben 22. November 2002 Originally posted by Didii es ist eine lokale Variable, passt das?? Nein. Lokale Variablen werden zerstört, sobald sie ihren Gültigkeitsbereich verlassen, in Deinem Fall also spätestens beim Verlassen der Methode, in der Du die Variable angelegt hast. Im Destruktor von CStatic wird DestroyWindow aufgerufen, damit ist das Control wieder weg. Mach eine Membervariable der Dialogklasse draus, oder hole den Speicher dynamisch. Dann sollte sich aber die Dialogklasse den Zeiger merken, um ihn am Ende wieder freizugeben. Zitieren
Didii Geschrieben 24. November 2002 Autor Geschrieben 24. November 2002 BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); das n bei nID im 5 Parameter steht doch für eine Int-Zahl oder? woraus kann ich diese Zahl ersehen, die meine ID hat??? bitte um hilfe evtl. auch mit konkretem Bsp. danke so long didii Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.