Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Da steht bei mir: void CListCtrl::DrawItem(LPDRAWITEMSTRUCT) { ASSERT(FALSE); }[/code] Vermutlich hast du dein List Control auf OwnerDraw gestellt, als du mit den Eigenschaften experimentiert hast. Bei einem OwnerDraw-List Control musst du von CListCtrl ableiten und DrawItem überschreiben.
  2. Je genauer die Fehlerbeschreibung, desto besser die Hilfe. Bloß weil dir die Meldung nichts sagt, kann sie anderen hier für die Diagnose doch sehr hilfreich sein. Also bitte: Vollständige Fehlermeldung posten. Außerdem wäre gut zu wissen, wo dieser Code steht.
  3. Wenn keine Spalten drin sind, kannst du nichts reinschreiben. Du musst vorher mindestens eine Spalte anlegen.
  4. CListCtrl::InsertColumn
  5. Das kommt davon, wenn man einfach einen Zeiger umcastet AfxGetMainWnd sollte helfen. Den musst du aber dann wirklich auf deinen Mainframetyp casten. Allerdings wird dir GetDlgItem nicht weiterhelfen. Überhaupt ist der Ansatz eher unüblich. Zum Aktivieren und Deaktivieren von Befehlselementen in Menüs und Toolbars nutzt man normalerweise UpdateUi-Handler.
  6. Echt? Du kannst die Sprachversion deines Visual Studio umstellen? Sagst du mir, wie? Eine deutsche Version habe ich hier nicht, in der englischen Version heißt die Eigenschaft "View". Es ist die einzige Eigenschaft des List Control mit 4 Wahlmöglichkeiten.
  7. TDM: Sieht gut aus. Ich bin eher ein Freund der einfachen Lösungen #include <iostream> int main() { int n; std::cin >> n; while(n>1) { for(int t=2; t<=n; ++t) { if(n % t == 0) { std::cout << t << ' '; n /= t; break; } } } }[/code]
  8. Welche Version? 2002? 2003? 2005? Welche Sprache? Deutsch? Englisch? Nein, davon rede ich doch die ganze Zeit. Du brauchst doch nur die Detailansicht, warum verbeißt du dich in eine Funktion, die die Ansicht zur Laufzeit umschalten kann, wenn du sie nur einmal beim Start zu setzen brauchst?
  9. Das ist die kleinste Zahl, die nicht durch 2, 3, 5 oder 7 teilbar ist, aber trotzdem keine Primzahl ist - außer nach deiner "Definition". 143 = 11 * 13 Ich merke gerade, 121 hätte es auch getan.
  10. Welche Version und Sprache von VC? Aber du brauchst SetView nicht.
  11. Hast du eine Ressource oder erzeugst du das Steuerelement im Code? Im ersten Fall kannst du das über die Eigenschaften des Steuerelements im Ressourceneditor einstellen. Im zweiten Fall musst du beim Erzeugen den Style LVS_REPORT angeben.
  12. Ich habe den Fehler bemerkt, und die Zahl auf 143 geändert. Du bist dran. Damit gibst du nur den ersten Eintrag des Arrays zurück. Da steht entweder 2 oder (bei ungeradem x) ein uninitialiserter Wert drin. Dein Algorithmus liefert mehrfach auftretenden Primfaktoren aber nur einmal.
  13. Muss man auch nicht. Wie würdest du denn eine Primfaktorzerlegung von Hand machen? Das ist meist kein schlechter Ansatz für einen Algorithmus.
  14. "Alternativ" ist gut. <= 7 ist schlicht falsch. 143 ist keine Primzahl. Aua, aua. Du gibst die Adresse einer lokalen Variablen zurück -> Bumm. Dein Algorithmus liefert außerdem keine Primfaktorzerlegung, sondern eine (unvollständige) Teilerliste, verteilt in dem Array zwischen vielen uninitialiserten Werten.
  15. Listboxen haben keine Spalten und damit auch keine Zellen. Du kannst über den Style LBS_USETABSTOPS Tabstops einrichten, aber echte Spalten sind das nicht. Wenn du Spalten und Zugriff auf einzelne Zellen willst, musst du ein List Control im Report-Style benutzen.
  16. Auch wenn ich nicht weiß, welchen "Rest" du bei diesem Beispiel erwarten würdest: C++ kann gar nichts machen, denn C++ ist eine Sprache. Bestenfalls kann die verwendete Entwicklungsumgebung oder der benutze Editor irgendwelche Hilfen anbieten, wie z.B. Vervollständigung von Bezeichnern. Welche Tastenkombinationen damit verknüpft sind, hängt aber logischerweise davon ab, um welche Entwicklungsumgebung es sich handelt.
  17. Durch die friend-Deklaration erreichst du nur, dass dieser Operator auf die protected- und private-Member der Klasse zugreifen kann. Der Standard sagt, dass Zuweisungsoperatoren Member sein müssen, darum kommst du nicht herum.
  18. Aber du hast einen Zuweisungsoperator, der kein Element ist. Und das ist nicht erlaubt. Der Zuweisungsoperator sollte eine konstante Referenz auf das Objekt selbst zurückgeben, damit eine Verkettung der Operatoren so wie bei den eingebauten Typen möglich ist. Ist aber nicht besonders schön. Erstens musst du einen Rückgabetyp angeben - dein Compiler macht vermutlich int draus, was er nicht sollte - und zweitens sollte der Parameter eine konstante Referenz sein, damit keine unnötige Kopie gemacht wird. Wenn man den op= über den Copy-CTor implementiert, hätte man sonst sogar eine Endlosrekursion.
  19. Das ist keine Frage von Button oder Listbox, sondern von Enabled/Disabled oder Visible/Invisible. Letzteres steuerst du mit ShowWindow.
  20. Es handelt sich um eine statische Membervariable. Die kann man gar nicht im Konstruktor initialisieren, sondern nur dort, wo sie definiert wird.
  21. COM-Server erstellst du mit dem ATL COM AppWizard.
  22. Sicher nicht. Aber auch andere haben persönlich Erfahrungen. Das tue ich. Ich akzeptiere aber nicht, wie du deine Erfahrungen hochrechnest - sowohl auf andere Open-Source-Produkte als auch auf neue VC-Versionen - und als allgemeingültige Fakten hinstellst. Ich bin übrigens immer noch sehr gespannt auf deine Auflistung der "Menge" an guten Open-Source-Compilern, und eine Erläuterung, inwieweit die "weitaus leistungsfähiger" als VC sind. Ich glaube aber, dass das nur heiße Luft von dir war. Ach ja, wenn du diese Vergleiche mit VC6 anstellen möchtest, solltest du dementsprechend alte Versionen dieser Open-Source-Compiler benutzen, also nichts, was nach 1998 rausgekommen ist. Richtig. VC 2005 Express Edition ist kostenlos. Wie gesagt, bitte als solches kennzeichnen. Nicht Bauchgefühle hochrechnen und als Fakten hinstellen. Oder sind wir hier im Microsoftverschwörungstheoretikerland?
  23. Mag ja sein, aber wo ist da "eine Menge" und "weitaus leistungsfähiger"? Ich habe das Gefühl, dass du da deine persönlichen Erfahrungen ziemlich stark verallgemeinerst und als Fakten hinstellst. Beim ersten Lesen dachte ich da zuerst an Exportbestimmungen und Zoll. Aber vermutlich meinst du, dass dich der Compiler auf ungenutzte Variablen hinweist. Das kann VC auch. Kann es sein, dass deine Erfahrungen alle mit VC6 gemacht worden sind? Nach dieser Version (die älter als der Standard ist) gab es schon drei neue. Dev-C++ neigt zu Abstürzen und zeigt Fehler, wo keine sind. Schau dir die Bugliste auf SourceForge an. Außerdem hat sich da seit fast einem Jahr nichts mehr getan, das letzte Beta-Release ist vom 22.02.2005.
  24. "Die" verschenken eigentlich eine ganze Menge, vom Browser bis zur Entwicklungsumgebung für Windows CE. Ich nehme an, Microsoft will die Verbreitung von VS 2005 vorantreiben. Die kostenlose Version wird es nicht ewig geben. Ob VS 2005 etwas taugt, solltest du daraus nicht folgern. Es gibt einen Standard, und die meisten neueren Compiler erfüllen den schon recht gut. Allerdings muss man sich dessen bewusst sein, dass damit Grafik, Datenbanken, Netzwerk, Sound und sogar solch vermeintlich einfache Dinge wie nichtblockierende Tastaturabfragen nicht drin sind. Zum Einsteigen ist das aber IMHO der richtig Ansatz.
  25. Dann hast du das nicht in eine Memberfunktion einer von CWnd abgeleiteten Klasse geschrieben. Das muss schon in die View, oder du musst einen Zeiger auf die View vor GetDlgItem setzen.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...