I'm using SetPanelPixmap to put a pixmap on my window-filling panel. I want to write text over it, so I use TextOut in GDI32, because labels have ugly backgrounds I can't rid of and TextOut doesn't. Problem is, some of the text is shown and some isn't. If I let the window lose focus and regain ( which is when I redraw all the GDI stuff ) all the text is shown. So evidently SetPanelPixmap causes the image to be drawn at times other than when an EVENT_APPRESUME is thrown. I need to know what other times it will redraw the image so that I can redraw the text.
I tried doing it with GDI, but I'm not having any luck getting the image to show. I assume that SetPanelPixmap is using GDI32 under the hood anyway, I just need to know when it does it's thing so that I can do mine immediately after.
EDIT: I've added calls to the GDI drawing stuff on EVENT_APPSUSPEND, *all* EVENT_WINDOWACTIVATE instances and *all* EVENT_GADGETPAINT instances too, but it's still only drawing some, not all. Geez, there's not much left.
EDIT2: Ok, I've got it *kinda* pinned down but not sure what to do about it. I have a second window on top of the first one. When I hide the top window, I give focus back to the lower window. Whatever was underneath the upper window is not redrawn, even though the Redraw function is called as soon because I have the focus change event set to trigger it automatically. Now I'm stuck knowing how to fix that. Exactly when is BMax redrawing the panelpixmap and how do I detect that and redraw my stuff on top?
|