Zum Inhalt springen

Narf!

Mitglieder
  • Gesamte Inhalte

    480
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Narf!

  1. Hallo Leute, ich habe ein CListCtrl-Feld in meinem Dialog mit Bericht-Ansicht. Ich möchte den Eintrag in der ersten Spalte editieren. Im Moment sieht es so aus: void C[Programm]Dlg::OnLvnItemActivateList2Buch(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); //Aktiviert das Editfeld nach Doppelklick auf das Item m_cBuch.EditLabel(m_cBuch.GetSelectionMark()); *pResult = 0; }//end void Ich gebe einen neuen Text ein und drücke Enter. Der Inhalt ändert sich nicht. In der MSDN hat auch nichts weiter gestanden.
  2. Das ist mir schon klar. Bevor ich den String konvertiere, lese ich vorher die CodePage aus, so dass der String mit der entsprechenden CodePage konvertiert wird. Mal noch ne Frage zur Darstellung in der Strukturansicht (CTreeControl): Wenn ein UTF-8-String eingelesen wird, der z. Bsp. japanische Schriftzeichen enthält, und mit CP_UTF8 in UNICODE konvertiert wird, sehe ich dann die Schriftzeichen oder irgend welche Steuerzeichen?
  3. Das ist bei mir auch so, aber wenn ich mit einem String reingehe, der einen Umlaut bzw. andere Sonderzeichen enthält, dann entfernt er diesen. Z. Bsp. wird aus "Häuser" -> "Huser".
  4. Nach UTF-8 geht es jetzt. Aber ich muss nun noch von UTF-8 nach ANSI konvertieren. erg=MultiByteToWideChar(CP_UTF8, 0, m, -1, w, sizeof(w) / sizeof(WCHAR)); erg=WideCharToMultiByte(CP_ACP, 0, w, -1, m, sizeof(m), 0, 0); Ich habe die Codepages getauscht, aber da werden die Umlaute wieder abgeschnitten. erg=MultiByteToWideChar(CP_ACP, 0, m, -1, w, sizeof(w) / sizeof(WCHAR)); erg=WideCharToMultiByte(CP_UTF8, 0, w, -1, m, sizeof(m), 0, 0); Hier konvertiert der zweite Aufruf die Umlaute wieder zu utf-8 oder hängt an UTF-8-Zeichen noch mehr UTF-8-Zeichen an, weil er die wieder konvertiert.
  5. Danke sehr, so haut es hin. :marine
  6. Hat nüscht gebracht. Auch die Konvertierung in ein OEM-String mit CString::AnsiToOem() hat nicht geholfen.
  7. Sieht jetzt so aus: LPCSTR mbstring={0}; WCHAR wcstring[MAX_PATH]={0}; CString text; int erg=0; mbstring="ABCdefÄÖÜäöüéÉ\0"; erg=MultiByteToWideChar(CP_UTF8, NULL, mbstring, -1, wcstring, sizeof( wcstring)); text=wcstring; Ergebnis ist: erg=7; text=wcstring="ABCdef"; Das nützt mir nichts, denn ich brauche ja auch die Übersetzung von den anderen Zeichen.
  8. Ich möchte eine Zeichenkette in UTF-8 umwandeln. Mein Code sieht so aus: LPCSTR mbstring={0}; LPWSTR wcstring={0}; CString text; int erg=0; mbstring="ABCdefÄÖÜäöüé\0"; erg=MultiByteToWideChar(CP_UTF8, NULL, mbstring, -1, wcstring, sizeof( wcstring)); text=wcstring; Im Ergebnis erg erhalte ich 7, aber wcstring ist leer und somit auch text. Weiterhin bleibt die Frage, wie es umgekehrt geht. Also von UTF-8 in eine Zeichenkette wie in mbstring.
  9. Das ist er: CString CDDrive="F:"; char CD_Name[MAX_PATH]; LPDWORD SerNum; GetVolumeInformation(CDDrive, CD_Name, MAX_PATH, SerNum, NULL, NULL, NULL, NULL); Kann man für LPDWORD auch was anderes nehmen?
  10. Noch 'ne Frage zu GetVolumeInformation(): Ich hätte auch gern die Seriennummer des Datenträgers, aber in die LPDWORD-Variable wird nie etwas geschrieben?
  11. Wenn Du Dein Programm kompiliert hast (*.exe), läuft es doch von allein. Aber daran denken, immer die Release-Version weiter zugeben. Und ein Setup kannst Du leicht mit dem Setup-Projekt von VS erstellen. Da schiebst Du einfach die Dateien, die auf den Zielrechner sollen in die entsprechenden Ordner und "Erstellen" und fertig. Du kannst auch Desktop-Icons erstellen lassen, usw.
  12. Bin wieder mal am rumprobieren und kriege es nicht gebacken. Wie komme ich denn an diese Interfaces ran? Und wie funktioniert eine Wrapper-Klasse?
  13. Ich stehe vor dem selben Problem: Ich möchte eine Textzeile von UTF8 nach ANSI konvertieren, um Umlaute darzustellen. Ich habe mich an dieses Beispiel aus der MSDN gehalten: ... WideCharToMultiByte(CP_ACP, 0, ui->usri2_full_name, -1, dest, 256, NULL, NULL); Meine Zeile sieht so aus: WideCharToMultiByte(CP_UTF8, NULL, eString, -1, &AktuellTitel, sizeof(AktuellTitel), NULL, NULL); eString ist char*, AktuellTitel ist CString. In eString wird als Textstring ein char[300] übergeben. Es kommt die Fehlermeldung: e:\...: error C2664: 'WideCharToMultiByte': Konvertierung des Parameters 3 von 'char *' in 'LPCWSTR' nicht möglich Wie kriege ich das hin? Auch mit &eString funtkioniert es nicht.
  14. Ich habe in der MSDN geblättert und jetzt geht es: CMenu oldmenu, newmenu; newmenu.LoadMenu(IDR_MENU1_ENG); ASSERT(newmenu); SetMenu(NULL); ::DestroyMenu(oldmenu.m_hMenu); SetMenu(&newmenu);
  15. Bei mir sieht der Aufruf so aus: CMenu menu; menu.LoadMenu(IDR_MENU1_ENG); Ich habe auch in den Dialogeigenschaften den Menüeintrag gelöscht. Es ist jetzt kein Menü zu sehen.
  16. Hallo Leute, ich habe das Forum nach Menü-Themen durchsucht, aber nichts richtiges gefunden. Ich möchte entsprechend der eingestellten Systemsprache die Menüs austauschen, die ich als Resource vorbereitet habe. Mit LoadMenu(IDR_MENUx) klappt das nicht. Nach Aufruf ist immer noch das alte Menü zu sehen. Auch vorher mit DestroyMenu(..) krieg ich das nicht hin. [VC++ 7.0, MFC, Dialog]
  17. Hab ich auch eingegeben. Aber durch den Quellcode bin ich nicht richtig durch gestiegen. Macht aber auch nichts. Hier noch eine Änderung zu oben (Goos hat zu schnell geantwortet ): Zahlen und Sonderzeichen sind auch möglich. Es funktioniert perfekt! :marine
  18. Eben. Und da ich, wie alle anderen auch, nicht die Zeit habe alle durchzusehen, hofft man auf jemanden, der schon mit dem selben Problem zu tun hatte. Trotzdem habe ich mal bei Google gegooglt, es war fast ausschließlich Müll dabei, wo ich nicht durchgesehen habe. ABER: Ich habe es anderweitg gelöst. Ist zwar nicht so komfortabel (man muss auf Zahlen und Sonderzeichen verzichten), aber es haut hin.
  19. Hallo an alle, die gebrannten Dateien haben eine Größenangabe im Explorer, sind aber leer. Es müsste reiner ASCII-Text zusehen sein bzw. Steuerzeichen. Jetzt habe ich das OS Win XP Pro neu aufgesetzt, jetzt geht es. Das Problem ist auch erst nach langer Zeit aufgetreten. Wisst Ihr, woran das liegen kann?
  20. Dieser Link hat mich auf eine leere Seite geführt. Und auch auf den anderen Links habe ich nichts entsprechendes gefunden. Die Daten kommen nicht aus einer Datenbank. Hier nochmal genau, was ich möchte: Der Nutzer gibt in ein Edit-Feld ein Wort oder mehrere ein und klickt auf "Suchen". Jetzt soll die Strukturansicht durchsucht werden, ob sich das gesuchte Wort darin befindet. Es kann aber auch eine Datei durchsucht werden, in der die Items gespeichert sind. Wenn es ein entsprechndes Match gibt, soll es in der Strukturansicht ausgewählt werden. Kurz: Ist Such-String gleich Tree-Item?
  21. Ich habe es wirklich versucht, aber nichts gefunden ausser unendlich langen Trefferlisten, wo sich der SUchbegriff auf der Web-Site befindet aber keine Erklärung. Es muss doch möglich sein, eine Volltextsuche einzubinden! :confused:
  22. Hallo an alle, ich möchte zwei Verzeichnisse dahingehend miteinander vergleichen, ob sie den gleichen Inhalt haben und auch die enthaltenen Dateien den gleichen Inhalt haben. Bei MS-DOS ging das mit comp. Bei CFile habe ich nichts derart gefunden. Gibt es noch einen anderen Weg?
  23. Mal was anderes: Erhält jedes Item einen eindeutigen Index? Wenn ja, wie kann ich den abfragen?

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