tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
1713
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Petrow Petrow ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    8
    Hallo,

    Wie ist es möglich, dass ich Werte, die ein Benutzer aus einer Liste auswählt, auch wenn der Fokus wechselt markiert bleiben ? Zum Beispiel bei einem Klick auf einen Button müssten sie dann anstelle blau, grau markiert zu sehen sein, wie geht dies, dürfte eigentlich nur ein Flag sein, oder ?


    mfg
    Petrow
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Ja, du kannst im Ressourceneditor (da, wo du die ListControl reinsetzt), im Eigenschaftenfenster "Auswahl immer anzeigen" als Stil angeben. Ist ganz gut zwischen vielen anderen Checkboxen versteckt.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Ok, das habe ich auch rausbekommen

    Aber wie bekomme ich ein sogenannten "FullRowSelect" hin, wenn ich ein ListView (CListCtrl) benutze, also dass er die ganze Zeile markiert und nicht nur den vordersten Eintrag?
    Geht das überhaupt?


    mfG

    MAN
     

  4. #4
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Das musst du im Code machen, mit ModifyStyle() oder ModifyStyleEx(). Kann auch sein, dass es direkt beim Create geht.

    Habe mal nachgesehen - es ist ein Extended Listview Style. Sollte also mit ModifyStyleEx() gehen. Der Style heisst LVS_EX_FULLROWSELECT.
    Geändert von Kachelator (12.03.04 um 13:25 Uhr)
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  5. #5
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Okay.... aber mit welchen Flags denn? Hab in der MSDN nachgeguckt, da gibts aber nur:

    SWP_NOSIZE Retains the current size.
    SWP_NOMOVE Retains the current position.
    SWP_NOZORDER Retains the current Z order.
    SWP_NOACTIVATE Does not activate the window.

    gib mir mal ein Code Besipiel, wie du es machen würdest?
    Initialisieren tu ich es einfach so:

    Code :
    1
    2
    
    CListCtrl* lvwCD;
    lvwCD = ( CListCtrl* ) GetDlgItem( ctrLvwCD );  // "ctrLvwCD" ist meine ListViewID

    und benutze dann halt lvwCD->Methoden


    mfG

    MAN
     

  6. #6
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Siehe oben, habe noch was dazugeschrieben.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  7. #7
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Ok, ja, das mit dem Flag hatte ich übersehen, sorry, aber die Methode braucht ja drei Parameter, was sind dabei die Parameter "dwRemove" und "dwAdd" ? Dafür wollte ich ein Beispiel

    mfG

    MAN
     

  8. #8
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Add sind die Styles, die du dem Window dazugeben willst, Remove zum Entfernen.

    ModifyStyleEx( 0, LVS_EX_FULLROWSELECT ); // adds fullrowselect
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  9. #9
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Hm... klappt leider nich:

    Wenn ich ModifyStyleEx(...) benutze, passiert gar nix, wenn ich ModifyStyle(...) benutz, dann zeigt er mir meine SubItems nich mehr an! was nun?

    hab das so gemacht:

    Code :
    1
    2
    3
    
    CListCtrl* lvwCD;
    lvwCD = ( CListCtrl* ) GetDlgItem( ctrLvwCD );
    lvwCD->ModifyStyle( 0, LVS_EX_FULLROWSELECT );

    muss ich vielleicht noch den dritten parameter angeben, oder sonst was redraw oder was weiß ich?


    mfG

    MAN
     

  10. #10
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Da muss ich mal in meinen Sourcen wühlen. Das kann etwas dauern.
    ---
    Ging schneller, als ich dachte. Ich habe es garnicht mit ModifyStyleEx() gemacht, sondern so:
    Code :
    1
    2
    3
    4
    
      if ( _WIN32_IE >= 0x0300 )
      {
        m_ctlVarArrayList.SetExtendedStyle( LVS_EX_FULLROWSELECT );
      }
    Das ist ein Schnipsel aus der zum Dialog gehörenden OnInitDialog()-Methode.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  11. #11
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    ok, vielen dank für die Mühe.

    Falls es was nützt: ich benutz VC++ (da ich den Flag LVS_EX_FULLROWSELECT irgendwie in der MSDN ned finde!)... gibts den wirklich?
    Und ich benutze die ganz normale ListView, also keine eingebundene ActiveX-ListView.

    mfG

    MAN
     

  12. #12
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    GEIL

    Respekt *gg* viele meiner Kollegen hier in der Firma meinten, es ginge nicht - hehe, aber siehe da, es *****

    Also nochmals, vielen dank für die Mühe!


    mfG

    MAN
     

  13. #13
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Gern geschehen!

    Respekt *gg* viele meiner Kollegen hier in der Firma meinten, es ginge nicht - hehe, aber siehe da, es *****
    Tut auch mal gut, so was zu hören.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

Ähnliche Themen

  1. ListControl in Datei speichern
    Von SCIPIO-AEMILIANUS im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 13.11.07, 14:45
  2. [MFC] Listcontrol
    Von alamos im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 31.10.05, 17:02
  3. Spaltenbezeichnung auslesen ListControl
    Von Topsen im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 09.12.04, 11:41
  4. Checkboxen und ListControl
    Von Petrow im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 24.02.04, 19:20
  5. Mehrere selektierte Werte ausgeben
    Von antihero im Forum PHP
    Antworten: 1
    Letzter Beitrag: 02.12.03, 11:37