Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Wie willst du mit drei Werten unter 80 auf ein Gesamtergebnis über 80 kommen? Hast du womöglich für den WISO-Wert auch 0,4 benutzt?
  2. Warum -64?
  3. Deine ImageList ist eine lokale Variable, das heißt, sie wird zerstört, wenn die Funktion beendet ist. Mach die ImageList zu einem Member der Klasse, zu der auch m_CtrlTree gehört.
  4. Dann zeig bitte mal den Code.
  5. Hast du die Reihenfolge beachtet? 1. ImageList erstellen 2. ImageList dem TreeCtrl zuweisen 3. Items einfügen Mal davon abgesehen, dass dieser Ausbruch niemandem weiterhilft, ich finde CTreeCtrl eigentlich ganz gut gelungen. Nur eine MoveItem-Funktion habe ich vermisst, aber die konnte ich recht einfach selbst schreiben.
  6. Klotzkopp

    static extern

    Mit extern sagst du dem Compiler, dass die Variable in irgendeiner Übersetzungseinheit (.c/.cpp-Datei) definiert wird. Darum muss auch in genau einer .cpp-Datei dieselbe Variable ohne extern stehen. Mit static hast du getrennte Variablen für jede Übersetzungseinheit, also mehrere i, die nichts miteinander zu tun haben. Wenn du weder extern noch static benutzt, hast du ein globales i definiert. Wenn diese Definition aber dann in mehr als einer Übersetzungseinheit auftaucht, wird sich der Linker über mehrfach definierte Symbole beschweren. Die Variable wird weder auf dem Stack noch auf dem Heap/Free Store angelegt, sondern im Speicherbereich für statische und globale Variablen.
  7. Unter Windows (außer 9x) kannst du SHCreateDirectory benutzen, das hat den Vorteil, dass fehlende "Zwischenordner" gleich mit erstellt werden. Wenn es auch mit Windows 95/98 funktionieren soll, kannst du CreateDirectory benutzen.
  8. Die Frage verstehe ich nicht. TVIF_IMAGE ist ein Flag für die Maske. Dieses Flag hast du in deinem ersten Beitrag bereits benutzt. Du hast nur die Indexwerte für die Bilder nicht gesetzt: TV_INSERTSTRUCT tvinsert; tvinsert.hParent = NULL; tvinsert.hInsertAfter = TVI_LAST; tvinsert.item.mask = [b]TVIF_IMAGE[/b] | TVIF_SELECTEDIMAGE | TVIF_TEXT; tvinsert.item.hItem = NULL; tvinsert.item.state = 0; tvinsert.item.cchTextMax = 6; tvinsert.item.cChildren = 0; tvinsert.item.lParam = 0; [b]tvinsert.item.iImage = 1; tvinsert.item.iSelectedImage = 2;[/b] //* SERVER tvinsert.item.pszText = "SERVER"; HTREEITEM hWurzel = m_CtrlTree.InsertItem(&tvinsert); [/CODE] Damit wird für den Server, wenn er nicht ausgewählt ist (iImage), das zweite Bild aus der ImageList verwendet, und wenn er ausgewählt ist (iSelectedImage), das dritte Bild. Wenn du keine unterschiedlichen Bilder für ausgewählt/nicht ausgewählt brauchst, setzt du einfach beide auf denselben Wert. Hast du überhaupt dem Tree Control die ImageList zugewiesen, mit CTreeCtrl::SetImageList?
  9. Das ist ganz böse, das solltest du dir schnellstens abgewöhnen. Mit dem Cast stellst du den Compiler ruhig, damit sagst du quasi: "Halt den Mund, ich weiß es besser als Du". Der Compiler ist brav und denkt sich, Filou wird schon wissen, was er tut. Das ist aber nicht der Fall Also: Casts nur dann, wenn es einen guten Grund gibt. Nicht, um Compilerfehlermeldungen loszuwerden.
  10. Wenn du beim Anlegen der Items TVIF_IMAGE angibst, musst du auch tvinsert.item.iImage und tvinsert.item.iSelectedImage zuweisen. Das sind die Indizes auf die ImageList. Wie schon gesagt, ich empfehle, alle Item-Bilder nebeneinander in eine Bitmap-Ressource zu packen. Dann brauchst du gar kein Add mehr. Auch in deinem Beispiel ist Add unnötig, weil das Icon schon durch den Create-Aufruf in der ImageList landet. Wenn du wirklich mehrere Icons einzeln mit Add hinzufügen willst, dann schau dir LoadImage an.
  11. Den "besten" wage ich zu bezweifeln, den "Freak" nehme ich dir übel (), und die multiplen Satzzeichen finde ich furchtbar "Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung. Sag, was du gemacht hast - wenn möglich, mit Code - und beschreib genau, wie sich der Fehler äußert. Ja bitte. Ein Thema - ein Thread, ein Thread - ein Thema.
  12. Andere hier sind auch hilfreich, ist ja keine Ein-Mann-Show Ganz genau. Wenn die Bilder schon zur Compilezeit bekannt sind, lädst du die Imagelist am einfachsten aus einer einzigen Bitmapressource, die alle Bilder nebeneinander enthält. Du musst bei InsertItem das HTREEITEM des Elternknotens angeben. Tust du das nicht, wird TVI_ROOT genommen, damit wird das neue Item unterhalb des (unsichtbaren) Wurzelknotens eingefügt.
  13. CWinApp::ParseCommandLine sollte das sein, was du suchst.
  14. MMC Programmer's Guide
  15. Es sollte ausreichen, die .exe-Datei in .scr umzubenennen.
  16. EditLabel tut nichts weiter, als ein Eingabefeld zum Editieren anzuzeigen. Den Text im ListControl musst du schon selbst ändern. Als erstes musst du dazu die Nachricht abfangen, die gesendet wird, wenn der Benutzer das Editieren beendet: LVN_ENDLABELEDIT.
  17. Und ich bin mir ziemlich sicher, dass es erlaubt ist, Programm, die mit der Standard-Edition erstellt wurden, zu vertreiben, und das schon seit VC++6. Ich habe gerade keine SE-EULA hier, aber ich kann es in den nächsten Tagen prüfen. Was meinst du mit "gescannt"? Eines der Features, die bei der Standard-Edition fehlen, ist der optimierende Compiler. Das ist schon ein gewaltiger Unterschied.
  18. Wenn du den cmd-Prozess mit CreateProcess erstellst, hast du die Möglichkeit, dem Prozess neue Handles mitzugeben, die dieser für STDIN, STDOUT und STDERR benutzt. Wenn du dafür Pipe-Handles benutzt, kannst du die Konsole "fernsteuern" und die Ausgabe wie aus einer Datei lesen.
  19. Ist kein Problem. Du kannst ja zur Laufzeit die Windowsversion prüfen und gegebenenfalls eine DLL mit den WMI-Funktionen laden.
  20. Das entsprechende Sprachpaket muss installiert sein.
  21. Das ist jetzt mehr ein Schuss ins Blaue, aber du könntest unter NT/2000/XP versuchen, ob du mit Windows Management Instrumentation (WMI) bessere Ergebnisse erzielst. Die WMI-Klasse Win32_DiskDrive hat ein Member MediaLoaded, das könnte das sein, was du suchst.
  22. Windows bietet Funktionen, um solche Links aufzulösen. Ich könnte dir sagen, wie es mit C++ geht, aber ich bin nicht sicher, ob dir das weiterhilft. Stichworte sind die Interfaces IShellLink und IPersistFile und deren Methoden IShellLink::Resolve IShellLink::GetPath IPersistFile::Load
  23. Klotzkopp

    calc und string

    Zu deinem ersten Problem: Du kannst einen C-String nicht einfach in eine Zahl umwandeln, indem du int() drumherum schreibst. Du kannst - je nach Sprache - Stringstreams oder Funktionen wie atoi oder sscanf benutzen. Zu deinem zweiten Problem: 1. String aufteilen, Einzelteile in Liste speichern. 2. Nach Minuszeichen suchen 3. Wenn ein Minuszeichen gefunden wird, den "Sammeleintrag" aufteilen und durch mehrere "Einzeleinträge" ersetzen. Wo genau hakt's?
  24. Verstehe ich das richtig, dass du den String "Häuser" als Eingabe für die Konvertierung UTF8 nach ANSI benutzt? Wie kommst du darauf, dass "Häuser" ein gültiger UTF8-String ist? Unter Windows ist ä hex E4, also 1110 0100. Damit müsste das Sonderzeichen durch eine Drei-Zeichen-Repräsentation dargestellt werden. Bei den nachfolgenden zwei Zeichen 'u' und 's' ist aber das MSB nicht gesetzt -> ungültiger UTF8-String.
  25. Dein erster Codeausschnitt funktioniert bei mir: Eingabe: "ABCdefÄÖÜäöüéÉ" Ausgabe: "ABCdefÄÖÜäöüéÉ"

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...