Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 864643
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T09:30:44+00:00 2026-05-15T09:30:44+00:00

I have successfully implemented this method of using the Win32 API to set the

  • 0

I have successfully implemented this method of using the Win32 API to set the background color of a treeview in VB 6: http://support.microsoft.com/kb/178491

However, one thing goes wrong: when you expand the tree nodes more than two levels deep, the area to the left of (and sometimes under) the inner plus [+] and minus [-] signs is still white.

Does anyone know how to get this area to the correct background color, too?

Note: I’m also setting the BackColor of each node, and also the BackColor of the treeview’s imagelist.

Here’s my version of the code:

Public Sub TreeView_SetBackgroundColor(TreeView As MSComctlLib.TreeView, BackgroundColor As Long)
    Dim lStyle As Long, Node As MSComctlLib.Node

    For Each Node In TreeView.Nodes
        Node.BackColor = BackgroundColor
    Next

    TreeView.ImageList.BackColor = BackgroundColor

    Call SendMessage( _
        TreeView.hwnd, _
        TVM_SETBKCOLOR, _
        0, _
        ByVal BackgroundColor)

    'Now reset the style so that the tree lines appear properly.
    lStyle = GetWindowLong(TreeView.hwnd, GWL_STYLE)
    Call SetWindowLong(TreeView.hwnd, GWL_STYLE, lStyle - TVS_HASLINES)
    Call SetWindowLong(TreeView.hwnd, GWL_STYLE, lStyle)
End Sub
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T09:30:45+00:00Added an answer on May 15, 2026 at 9:30 am

    This is a known bug in version 6 of the common controls (mscomctl.ocx). The API routine you’re using works fine with version 5 of the common controls (comctl32.dll). The reason is because the mscomctl.ocx is actually a re-write of the common controls that are included with Windows, so there are some known bugs with Windows common controls APIs and themes. (See the introduction to this article: http://vbnet.mvps.org/index.html?code/comctl/tveffects.htm for a much more eloquent explanation).

    I’ve searched before for a solution to this problem, and the only thing I came up with (other than the work-around you already discovered) is to replace the controls in your project with version 5. Remember, this control package also includes the ListView and the ImageList, so you need to replace those with version 5 as well in your project.

    Alternatively, you could also try replacing the native control with one from a third-party that adds even more functionality. Though I haven’t tried it personally, you may try the following example: http://www.vbaccelerator.com/home/vb/code/controls/TreeView/TreeView_Control/article.asp.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.