Limitation with Explorer ListView compared to default Windows theme

Hello,

I recently purchased Window Blinds for Windows 10 and am currently working on my own custom theme. I am trying to skin the Explorer list view to look like Windows 7, but I found that there are too few states defined in Skin Studio.

 

Windows' "visual styles" engine defines 6 states for list view items, as documented here (I've added descriptions below):
Part:
LVP_LISTITEM

States:
LISS_DISABLED,  For when the list is disabled. Not often used (and the default image is plain white).
LISS_HOT,  For when the mouse is hovering over a non-selected item. Also can be used for focused items.
LISS_HOTSELECTED,  For selected items when the mouse is hovering over them, or they have keyboard focus.
LISS_NORMAL,  For non-selected, non-hot, non-focused items. Doesn't usually have an image.
LISS_SELECTED,  For selected items that are not focused (i.e. when multiple are selected and keyboard focus is on another item) and the mouse is not over them.
LISS_SELECTEDNOTFOCUS  For selected items when the entire list-view does not have focus (i.e. another window has focus).

Here is a sample of the Windows 7 theme:
List-view item images for Windows 7 theme

 

However, in Skin Studio, I only see 3 images. The help tab just lists them as "Image 1", "Image 2" and "Image 3".

They seem to be roughly equivalent to "normal", "hot" and "selected". The greyed-out "selected not focus" image seems to be generated automatically by Window Blinds (I assume by applying a grey-scale filter to one of the actual images), as I do see it when the theme is applied even though there is no image for it.

 

Is it possible to define images for all these states, or is it a limitation of Window Blinds? I find it odd that a tool designed to allow more control over the Windows theme is actually more limiting than Windows itself. Or am I missing something?

The only other information I could find on this problem is a post on WinCustomize - Important feature request: customize ListView mouse-over highlight - but there is no clear answer.

Any help would be appreciated.

33,380 views 15 replies
Reply #1 Top

Hello,

As a windowblinds skin designer myself, I always put it 3 images for 3 states are enough. But from your link above, I think Dani did mentioned that you can try to put more image in skinstudio. Will it work, I am not sure myself. I will try it soon when I have time. Skinstudio always have "Ooooo you can do that!!! :omg: " for me :grin:  :')  

Reply #2 Top

Hi basj,

I did see Dani's comment on that other post I linked to, but they did not explain how or why that works. Like, I can't just expect to add more images and have Window Blinds magically know what states to use them for. There must be a mapping of sorts.

I will try it when I get home, but I'm not sure if just adding more images will be enough for me. Ideally, I would also like to be able to provide an image for focused, but not selected, items.

Explorer showing focus state of item

Reply #3 Top

I just try it and here what I get...

I would suggest you try it yourself and you will see what I mean. Please remember change from 3 to 6 image states in Skinstudios

+1 Loading…
Reply #4 Top

Just so you know... for me a lot of things in Skinstudio is easier to learn from Trial and Error.

Reply #5 Top

Quoting basj, reply 4

Just so you know... for me a lot of things in Skinstudio is easier to learn from Trial and Error.
End of basj's quote

Well that's not very helpful. How would I have known, through trial and error, that I can provide more images than Skin Studio says and that those extra images will be mapped to valid states.
I would prefer decent documentation.

However, I will try what you say and see how it goes.

Reply #6 Top

As I said ..."for me".. for you, you can always ask around or do whatever you wish.

Reply #7 Top

Hi basj,

I tried to use a 6 section image like you said, but I could not figure out how to change the image count Skin Studio. No matter what I did using import or frame builder, the count always went back to 3.

Reply #8 Top

The frame count need to be set manually. It the settings near where you import that image. Please let me know if you still need help on it. Will try to make a screenshot of it, if needed.

Reply #9 Top

The frame count need to be set manually. It the settings near where you import that image. Please let me know if you still need help on it. Will try to make a screenshot of it, if needed.

Reply #10 Top

Yes, I still need help.

The only place I could find to set the frame count was in the frame builder (or whatever it's called) window. On the left it shows each image and on the right are a bunch of buttons and a number control where you can enter the count.
Then, it asked me to save, so I saved to the tga file. That changed nothing, as all the frames were already in that image. And it didn't add any properties that I could see in the Code Editor tab. So the next time I opened the frame builder window it defaulted back to a count of 3.

It would be good if someone could explain how Window Blinds and/or Skin Studio knows how many frames are in a single image. Like, the information must be stored somewhere, such as the .uis file. Or does it just try to guess?
I found the UIS file format documentation, but I see no mention of a "count" or "number" property.

Reply #11 Top

Ok... first, I never use the frame builder. Maybe some other people can give you assistant on that.

I used other graphics app to do my work. Some of us use  Adobe Photoshop, some use Firework, Gimp etc etc. Export/save that specific work to png file format. At this stage it already build 3/5/6 frame or whatever I wish to put in. 

from Skinstudio import that file. Set the image count according the frame you import in... and that it.

+1 Loading…
Reply #12 Top

Ah, well I don't see that "Image count:" control. And I think I know why - I don't have "advanced mode" turned on. Once I get home I will try that.

Just out of curiosity, could you post a screenshot of an Explorer window using the theme you usually use. In this window, select 2 files/folders and hover the mouse over a 3rd un-selected item.

Reply #13 Top

Reply #14 Top

After enabling advanced settings in Skin Studio, I was able to adjust the number of frames, and I can now successfully use 6 images.

I have found that the images are used for the following states, in order:

  1. Focused (i.e. keyboard focus, for selection using the arrow keys)
  2. Hot
  3. Selected
  4. ?
  5. Selected not focus
  6. Hot Selected

That gives me the same level of control as the default Windows theme, which is awesome.

My only question now is why Skin Studio does not simply use 6 images by default? Why must we jump through hoops to do it?

Reply #15 Top

Maybe because Skinstudios used to be Win XP compatible. And a lot off Windowblinds still have XP portion in it. And A whole lot of designers are just comfortable with 3 states.