Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Selection is gray in a CListCtrl

Selection is gray in a CListCtrl

Scheduled Pinned Locked Moved C / C++ / MFC
helpquestion
28 Posts 4 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R RoyceF

    Yes, I have just verified that the control is not losing focus when it should not. Its OnSetFocus() and OnKillFocus() handlers are being called appropriately. When I select an item, the OnSetFocus() handler is called. The OnKillFocus() handler is not being called until I actually do move the focus. I have used different types & sizes of bitmaps and different parameters in creating the imagelist, but no change in the control's behavior.

    J Offline
    J Offline
    Joel Lucsy
    wrote on last edited by
    #11

    When you select an item using the mouse, different from the that is selected by default, does it appear in blue, or grey?

    R 1 Reply Last reply
    0
    • J Joel Lucsy

      When you select an item using the mouse, different from the that is selected by default, does it appear in blue, or grey?

      R Offline
      R Offline
      RoyceF
      wrote on last edited by
      #12

      Selected by any means, it is always gray.

      R J 2 Replies Last reply
      0
      • R RoyceF

        Selected by any means, it is always gray.

        R Offline
        R Offline
        RoyceF
        wrote on last edited by
        #13

        I have just built a version of my test project using a CScrollView as the parent of the CListCtrl. It exhibits the same behavior as the dialog-based app and the CFormView-based app. That would seem to point to the images or the ImageList object that I am using. However, I have used this same ImageList & bitmaps in another project, but the selection behavior is correct.

        1 Reply Last reply
        0
        • R RoyceF

          Ok, I did as you suggest. I get exactly the same behavior. The items select just the text and are a dim gray.

          D Offline
          D Offline
          David Crow
          wrote on last edited by
          #14

          Can you supply a screenshot of the offending control?


          "The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb

          R 1 Reply Last reply
          0
          • R RoyceF

            Selected by any means, it is always gray.

            J Offline
            J Offline
            Joel Lucsy
            wrote on last edited by
            #15

            Just to be safe, does explorer highlight in blue when you select a file? Its possible to have your "scheme" have the highlight color set to gray. As another thought, is your ListView (or ListCtrl) derived from anything, meaning did you use a class from an outside source? Just wondering if perhaps you or that class might be using NM_CUSTOMDRAW to override painting. Also, what styles are being used on the view, single selection, full-row selection, show selection always, owner data, owner draw? Personally I've never seen a basic ListCtrl ever paint incorrectly without some kind of interference from code.

            R 1 Reply Last reply
            0
            • D David Crow

              Can you supply a screenshot of the offending control?


              "The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb

              R Offline
              R Offline
              RoyceF
              wrote on last edited by
              #16

              How do I post a bitmap or GIF?

              D 1 Reply Last reply
              0
              • R RoyceF

                How do I post a bitmap or GIF?

                D Offline
                D Offline
                David Crow
                wrote on last edited by
                #17

                You can't. You'll have to find a Web site that will allow such. There are a ton of them out there that can act as a repository.


                "The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb

                R 1 Reply Last reply
                0
                • D David Crow

                  You can't. You'll have to find a Web site that will allow such. There are a ton of them out there that can act as a repository.


                  "The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb

                  R Offline
                  R Offline
                  RoyceF
                  wrote on last edited by
                  #18

                  I have attached a DOC file to a thread in CodeGuru (I hope it's OK to do this) which contains a screenshot. I hope this works. Click this link: http://www.codeguru.com/forum/showthread.php?p=1315489#post1315489[^]

                  1 Reply Last reply
                  0
                  • J Joel Lucsy

                    Just to be safe, does explorer highlight in blue when you select a file? Its possible to have your "scheme" have the highlight color set to gray. As another thought, is your ListView (or ListCtrl) derived from anything, meaning did you use a class from an outside source? Just wondering if perhaps you or that class might be using NM_CUSTOMDRAW to override painting. Also, what styles are being used on the view, single selection, full-row selection, show selection always, owner data, owner draw? Personally I've never seen a basic ListCtrl ever paint incorrectly without some kind of interference from code.

                    R Offline
                    R Offline
                    RoyceF
                    wrote on last edited by
                    #19

                    Yes, Explorer highlights in blue, as it always has. Also, a TreeCtrl in my app which is a sibling of my ListCtrl selects correctly with a blue highlight.

                    J 1 Reply Last reply
                    0
                    • R RoyceF

                      Yes, Explorer highlights in blue, as it always has. Also, a TreeCtrl in my app which is a sibling of my ListCtrl selects correctly with a blue highlight.

                      J Offline
                      J Offline
                      Joel Lucsy
                      wrote on last edited by
                      #20

                      Oh, um, are you using a manifest under VC6? I know when you use manifests (to get the XP style look), imagelists behave differently. I think, but not certain by any means, that the newer compilers handle this without problems, but I'm fairly sure VC6 won't. I've found CImageList won't work quite right, I had to use the macros like ImageList_Create for it to work right.

                      R 1 Reply Last reply
                      0
                      • J Joel Lucsy

                        Oh, um, are you using a manifest under VC6? I know when you use manifests (to get the XP style look), imagelists behave differently. I think, but not certain by any means, that the newer compilers handle this without problems, but I'm fairly sure VC6 won't. I've found CImageList won't work quite right, I had to use the macros like ImageList_Create for it to work right.

                        R Offline
                        R Offline
                        RoyceF
                        wrote on last edited by
                        #21

                        No, I am using VC7 unmanaged code.

                        J 1 Reply Last reply
                        0
                        • R RoyceF

                          No, I am using VC7 unmanaged code.

                          J Offline
                          J Offline
                          Joel Lucsy
                          wrote on last edited by
                          #22

                          VC7 has an option during project creation for including a manifest for C++ apps that defaults to "ON". Check your project or project/res directory for a .manifest file. If you have one, then its probably being used. Try turning it off.

                          R 1 Reply Last reply
                          0
                          • J Joel Lucsy

                            VC7 has an option during project creation for including a manifest for C++ apps that defaults to "ON". Check your project or project/res directory for a .manifest file. If you have one, then its probably being used. Try turning it off.

                            R Offline
                            R Offline
                            RoyceF
                            wrote on last edited by
                            #23

                            How do I do that? My test app project has a manifest file, but my real project does not. With both projects exhibiting the same behavior, one has a manifest and the other does not, I can't believe that is the problem. Anyway, I can't find a setting in the project configuration for turning it on or off. I also searched the vcproj file for a hidden setting.

                            J 1 Reply Last reply
                            0
                            • R RoyceF

                              How do I do that? My test app project has a manifest file, but my real project does not. With both projects exhibiting the same behavior, one has a manifest and the other does not, I can't believe that is the problem. Anyway, I can't find a setting in the project configuration for turning it on or off. I also searched the vcproj file for a hidden setting.

                              J Offline
                              J Offline
                              Joel Lucsy
                              wrote on last edited by
                              #24

                              Ah, sorry, too many different compilers/languages on my system. It'll be in the resources of the project, you'd have to delete it from there.

                              R 1 Reply Last reply
                              0
                              • J Joel Lucsy

                                Ah, sorry, too many different compilers/languages on my system. It'll be in the resources of the project, you'd have to delete it from there.

                                R Offline
                                R Offline
                                RoyceF
                                wrote on last edited by
                                #25

                                I deleted the manifest file and rebuilt my project. No change in behavior.

                                J 1 Reply Last reply
                                0
                                • R RoyceF

                                  I deleted the manifest file and rebuilt my project. No change in behavior.

                                  J Offline
                                  J Offline
                                  Joel Lucsy
                                  wrote on last edited by
                                  #26

                                  Bummer. I'm fresh out of ideas. I'm sorry I couldn't figure it out for you. Hope something clicks and it works out.

                                  R 1 Reply Last reply
                                  0
                                  • J Joel Lucsy

                                    Bummer. I'm fresh out of ideas. I'm sorry I couldn't figure it out for you. Hope something clicks and it works out.

                                    R Offline
                                    R Offline
                                    RoyceF
                                    wrote on last edited by
                                    #27

                                    Thanks, I appreciate your efforts on my behalf. When I get a fix, I will post it here. I have asked Microsoft for help on this one. Royce

                                    R 1 Reply Last reply
                                    0
                                    • R RoyceF

                                      Thanks, I appreciate your efforts on my behalf. When I get a fix, I will post it here. I have asked Microsoft for help on this one. Royce

                                      R Offline
                                      R Offline
                                      RoyceF
                                      wrote on last edited by
                                      #28

                                      I have found a fix for this problem, but I can't as yet explain why it works the way that it does. I am now creating my ListCtrl like so: DWORD dwStyle = WS_CHILD | WS_TABSTOP; dwStyle |= LVS_ALIGNTOP | LVS_AUTOARRANGE | LVS_ICON | LVS_SHOWSELALWAYS | LVS_SINGLESEL; if ( bVisible ) dwStyle |= WS_VISIBLE; HWND hWnd = ::CreateWindow( "SysListView32", NULL, dwStyle, rcTree.left, rcTree.top, rcTree.Width(), rcTree.Height(), m_hWnd, NULL, AfxGetInstanceHandle(), NULL ); m_ctlComponents.Attach( hWnd ); Problem is fixed.

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups