Alle Beiträge von Klotzkopp
-
ListView Control (WinSDK)
Bei einem normalen ListControl kann immer nur eine Spalte Icons haben. Das muss allerdings nicht die erste Spalte sein. Man muss dazu beim Einfügen der Spalten den iOrder-Member der LVCOLUMN-Struktur verwenden, um die Spalten anders anzuordnen. Wenn Du Icons in mehr als einer Spalte haben willst, wird Dir wohl nichts anderes übrig bleiben, als die Icons selbst zu malen.
-
min + max wert aus vektorenkette ermitteln
Nein, aber das lässt sich ganz einfach selbst schreiben: vector<int> v; // ...Vector mit Daten füllen int minimum = 0; int maximum = 0; if( v.size() > 0 ) { vector<int>::iterator it = v.begin(); minimum = maximum = *it; for(; it != v.end(); it++ ) { if( *it < minimum ) minimum = *it; if( *it > maximum ) maximum = *it; } }[/CODE]
-
Schleifen im Sequenzdiagramm
Ein Sequenzdiagramm ist für die Darstellung von Algorithmen nicht gut geeignet, man verwendet es eher zur Veranschaulichung von Szenarien, eben weil typische Elemente wie Verzweigungen und Schleifen nicht wirklich dargestellt werden können. Ich habe hier eine PDF-Datei gefunden. Auf Seite wird 7 eine Rechteckdarstellung für Schleifen gewählt. Ich bin aber nicht sicher, ob das Bestandteil von UML ist.
-
Excel Uhrzeit dividieren
Wie wärs damit: =(20+45/60)/8
-
Wie schlimm ist BugBear wirklich?
http://www.symantec.com/avcenter/venc/data/w32.bugbear@mm.removal.tool.html
-
Tree-Ansicht erstellen
Dafür hättest Du kein neues Thema beginnen müssen, ich führ das mal zusammen . Aber zur Frage: Um überhaupt etwas davon mitzubekommen, wenn sich die Selektion eines Tree Controls ändert, musst Du im Klassenassistenten für das Control eine Nachrichtenbehandlungsfunktion für die Nachricht TNV_SELCHANGING einrichten. Die generierte Funktion sieht dann in etwa so aus: void CDeinDlg::OnSelchangedTreeXy(NMHDR* pNMHDR, LRESULT* pResult) { NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; // TODO: Add your control notification handler code here *pResult = 0; }[/CODE] Diese Funktion wird aufgerufen, wenn sich die Auswahl ändert. An den Text des Elements kommst Du mit CTreeCtrl::GetItemText, dafür brauchst Du das HTREEITEM des Elements als Parameter. Das wird hier aber zum Glück mitgeliefert, in der NM_TREEVIEW-Struktur. Du musst also nur folgenden Code an der TODO-Stelle einfügen, und schon hast Du den Text in einem CString:[CODE]CString strItemText = m_DeinTreeCtrl.GetItemText( pNMTreeView->itemNew.hItem );
-
Ie 5.5
Das könnte helfen: http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q260650&
-
Visual C++ ZModem
Ich hab hier was gefunden: http://www.wps.com/FidoNet/source/DOS-C-sources/Old%20DOS%20C%20library%20source/ Ist allerdings C und offenbar ohne Dokumentation - wenn man mal von den Kommentaren im Code absieht. Könnte allerdings ein Anhaltspunkt sein.
-
Menü deaktivieren VC++ 6.0
Du brauchst für jeden Menüpunkt, dessen Verhalten Du beeinflussen willst, einen UpdateUI-Handler. Was das ist, und wie man so was einrichtet, hatte ich hier schon mal beschrieben. Innerhalb des Handlers kannst Du mit pCmdUI->Enable( FALSE ) den Menüeintrag deaktivieren.
-
Verzeichnis erstellen und freigeben
Wird schwierig, wenn Du uns die Fehlermeldungen nicht nennst . Was die Kompaktheit angeht, bei dem Code fehlen sogar die Fehlerprüfungen. Alle Funktionsaufrufe in dem Beispiel können fehlschlagen, was natürlich behandelt werden muss. Die Alternative, und IMHO erheblich einfacher, dürfte immer noch sein, aus dem Programm heraus das Tool cacls aufzurufen.
-
Tree-Ansicht erstellen
MFC oder nicht? Falls ja, mit CTreeCtrl::InsertItem. Wenn Du mit Level meinst, wo das neue Element eingefügt werden soll: Du musst bei InsertItem das Parent-Element angeben, in Form eines HTREEITEM. Ein solches bekommst Du beim Aufruf von InsertItem für das neu eingefügte Element zurück. Wenn Du ein Element auf der obersten Ebene anlegen willst, musst Du als Parent TVI_ROOT angeben. Siehe auch: http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_CTreeCtrl.3a3a.InsertItem.asp Hat Dir ffGebaecks Antwort nicht weitergeholfen?
-
Toolbar
Hey, wenn ihr über Tierleichen reden wollt, dann macht ein neues Thema auf
-
ctfmon.exe
Hier steht (unter anderem), wie man den Start unterbinden kann: http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q282599&
-
Problem mit dem Inhalt von Edits
CListCtrl ist nur ein Wrapper für das List View Control (Klassenname: WC_LISTVIEW). Das gehört zu den Common Controls und funktioniert prima auch ohne MFC. Wenn Du die Common Controls verwenden willst, musst Du vorher InitCommonControlsEx aufrufen. Die Nachrichten für das List View Control fangen alle mit LVM, die Notifications mit LVN an. Damit Du die Spaltenansicht bekommst, muss das Fenster den Style LVS_REPORT haben.
-
Problem mit dem Inhalt von Edits
Kein Problem Aber was anderes: Hast Du mal daran gedacht, ein ListControl zu verwenden?
-
Math C++ Zahlenrunden
Vorsicht, diese Version rundet z.B. 3,141 zu 3,15 auf. Wenn "richtig" gerundet werden soll, muss das so aussehen: double d; d *= 100.0; d += 0.5; d = floor( d ); d /= 100.0; Oder Du machst, was Goos vorgeschlagen hat, falls Du nur die Ausgabe runden willst, um dann mit dem ungerundeten Wert weiterzuarbeiten.
-
Math C++ Zahlenrunden
Wenn Du wirklich aufrunden willst: double d; d *= 100.0; d = ceil( d ); d /= 100.0;
-
Meldung: Fehler in Anwendung
So, das Problem hat sich jetzt sozusagen von selbst gelöst. Nach dem Löschen des debug-Ordners (in dem die Objektdateien erstellt werden) trat der Fehler nicht mehr auf. Dieses Problem gibt es bei MSVC manchmal. Da hilft dann "Rebuild All" bzw. "Alles neu erstellen".
-
Meldung: Fehler in Anwendung
Simmt, das ist noch so, wie es vom Assistenten generiert wurde. Wenn es Dir nichts ausmacht, kannst Du mir das gesamte Projekt als ZIP zuschicken, dann schau ich mal nach. Lösch aber vorher den Debug-Ordner.
-
Meldung: Fehler in Anwendung
Die Funktion CSerielleSchnittstelleApp::InitInstance Das ist doch die, in der der Fehler auftrat:
-
Meldung: Fehler in Anwendung
Schreib mal Deine InitInstance hier rein.
-
Meldung: Fehler in Anwendung
Eben, und das sollst Du gerade nicht. Baue das Projekt mit F7, und dann starte es im Debugger, indem Du, wie ich oben schon sagte, F5 drückst.
-
Meldung: Fehler in Anwendung
Da fehlt der entscheidende Schritt, der Fehler kommt ja nicht beim Kompilieren. Wie startest Du das Programm?
-
Meldung: Fehler in Anwendung
Hast Du das Progamm im Debugger gestartet? Was war das für eine Fehlermeldung?
-
Meldung: Fehler in Anwendung
Das kann alles mögliche sein, eventuell ein ungültiger Index bei einem Zugriff auf ein Array. Starte das Programm mal im Debugger (F5), und wenn der Fehler dann auftritt, klick auf Abbrechen, dann sollte Dir der Debugger zeigen, an welcher Stelle im Code der Fehler aufgetreten ist.