Eintrag in Listenelement markieren
-
Eventuell solltest du mal mit dem Debugger durchgehen und beobachten, was während der Schleife passiert. Eventuell kontrollierst du ja die falsche Spalte deines Controls oder die Groß/Kleinschreibung stimmt nicht.
Auf jeden Fall dürftest du ein Element zu viel überprüfen.
-
Also die Anweisungen werden alle asugeführt, die bediden strings sind absolut gleich hab sie mir ausgeben lassen. wenn ich mit der maus einen eintrag markiere färbt sich dieser. ist das genung um sagen zu können, das die liste markiereungen zulässt.
-
ganmz komisch ist es wenn ich keinen eintrag prüfe sondern nur verscuhe so einen eintrag zu markieren mit
m_spisode_li.SetSelectionMark(2)funktioniert auch nicht
-
Also mit deiner letzten Aussage, würde ich eigentlich fast sagen, dass dann etwas mit deinem CListCtrl nicht stimmt. Wie hast du es denn zugewiesen? Über den Assistenten, oder selber? Wenn selber, wie? Und es ist wirklich das richtige Ctrl?
Ansonten keine Ahnung, bei mir funktioniert es einwandfrei. Kann also nur sagen, dass du irgendwo ein Fehler gemacht haben musst ^^
Grüssli
-
hab es über den assistenten eingefügt.
aber vielleicht noch der hinweis.
ich habe zwie listenelemente.
bei der auswahl eines eintrag aus listenelement1 soll einer im zweiten ausgewählt werden.danke
-
Wenn ich das richtig nachvollzogen hab, markierst Du zwar den Eintrag, allerdings wird der nicht sichtbar hervorgeben, da das Element evtl. nicht den Focus hat. Du kannst ja mal das CListCtrl mit dem "Auswahl immer anzeigen"-Stil versehen, da siehst Du, ob wirklich nichts markiert ist.
Ansonsten mache ich das bei mir immer folgendermassen:
m_CtrlList.SetItemState(idneu, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); m_CtrlList.SetSelectionMark(idneu);Bei mir klappt es da auch immer einwandfrei, vielleicht ja bei Dir auch

Edit: Jetzt war ich etwas zu langsam
Ich mache etwas aehnliches, von daher sollte es eigentlich so auch klappen.
-
Ich habe folgende einstellungen gemacht :
m_episode_li.SetExtendedStyle(LVS_EX_GRIDLINES);
m_episode_li.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_episode_li.SetExtendedStyle(m_auswahl.GetExtendedStyle()| LVS_EX_GRIDLINES);ich ahbe auch den haken "auswahl imm er zeigen " aktiviert
weiß echt nicht mehr weiter
-
basti_1984 schrieb:
Ich habe folgende einstellungen gemacht :
m_episode_li.SetExtendedStyle(LVS_EX_GRIDLINES);
m_episode_li.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_episode_li.SetExtendedStyle(m_auswahl.GetExtendedStyle()| LVS_EX_GRIDLINES);ich ahbe auch den haken "auswahl imm er zeigen " aktiviert
weiß echt nicht mehr weiter
Ich dachte das Problem war im anderen Thread geklärt...
http://www.c-plusplus.net/forum/viewtopic-var-t-is-146589.html
-
estartu schrieb:
basti_1984 schrieb:
Ich habe folgende einstellungen gemacht :
m_episode_li.SetExtendedStyle(LVS_EX_GRIDLINES);
m_episode_li.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_episode_li.SetExtendedStyle(m_auswahl.GetExtendedStyle()| LVS_EX_GRIDLINES);ich ahbe auch den haken "auswahl imm er zeigen " aktiviert
weiß echt nicht mehr weiter
Ich dachte das Problem war im anderen Thread geklärt...
http://www.c-plusplus.net/forum/viewtopic-var-t-is-146589.html
Naja nicht ganz
-
Du hast am Ende aber geschrieben:
Alles klar, danke!
Was ist denn immer noch nicht klar? Ist es denn so schwer zu verstehen, das SetExtendedStyle, den alten Wert ersetzt durch den Wert, welcher du übergibst? Die Funktion fügt nicht hinzu, sondern ersetzt! ^^'
Grüssli
-
ich weiß aber das ist ja nicht das problem sondern das ich einen eintrag in diesem listenelement nicht markieren kann
-
Ja wenn du das wüsstest.... was soll dann
m_episode_li.SetExtendedStyle(LVS_EX_GRIDLINES); m_episode_li.SetExtendedStyle(LVS_EX_FULLROWSELECT); m_episode_li.SetExtendedStyle(m_auswahl.GetExtendedStyle()| LVS_EX_GRIDLINES);!?
m_episode_li.SetExtendedStyle(m_auswahl.GetExtendedStyle()| LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);Wäre richtig -.- Wobei das GetExtendedStyles eigentlich nicht nötig ist!
und mit der Auswahl... naja, bei mir hat es leider auch nach mehreren Funktionen nach einander aufrufens gefunzt
Wobei ich auch stark modefizierte ctrls benutzte 
m_Data.SetItemState(nIndex, LVIS_SELECTED, LVIS_SELECTED); // "1" Item m_Data.SetFocus(); //da Selektierung sonst nicht sichtbar ist m_Data.EnsureVisible(nIndex, TRUE); // Sicherstellen das das Item auch sichbar ist!Wobei man diese Methode sicherlich noch erweitern könnte, indem man das item was momentan ausgewählt ist findet... GetSelectedItem ... dann schnell dessen itemstate auf nicht ausgewählt setzten... weil sonnst halt das momentan ausgewählte uach noch ausgewählt ist!
-
guten Morgen bin wieder am arbeiten jetzt hat es endlich funktioniert vielen vielen dank