OK, I’d like to see if some more experienced Windows programmers can help me out here…
I have a Listbox where I have a number of embedded pop-up menus in the listbox. Basically when I create the listbox row, there’s up to 2 columns that get a pop-up menu placed in the column. I have the pop-up menu set as the cell tag of those particular cells. I separately create the pop-up menu and then set its parent to be the listbox and set it’s coordinates properly to the coordinates of the cell where I want to place it.
This has worked fine for me for several years in various spots in my app. It makes a nice looking list of items with proper looking pop-up menus for selections. However, in the past all my list boxes have been static - meaning once I draw them, nothing changes or not very often.
Now I am developing a listbox where content in that listbox is potentially dynamic. So I periodically make changes to the listbox contents, etc. This looks terrific in MacOS but whenever I re-draw anything with the listbox in Windows it causes problems. First, when I make refresh or invalidate the listbox, the pop-up menus get blanked out - they get moved underneath the listbox (even though they should be on top). So then I have to redraw the pop-up menus. I get them back after doing this but it results in them flickering every time I do anything to touch the listbox.
Anyone know how to do this properly so that I don’t get this flickering? It’s somewhat frustrating as like I said, in MacOS, the whole thing looks terrific. In Windows it looks like garbage.
Unfortunately, there’s no DoubleBuffer or EraseBackground properties for controls other than Canvases.