CTreeCtrl and Scroll assertions
Jim Leavitt -- jimll@halcyon.com Monday, February 19, 1996 Hello all: Well I'm writing again, I'm trying to answer more questions than I ask, but I've got another strange problem perhaps one of you have seen. Windows 95 VC 4.0 MFC 4 32 MB Ram I've got a CTreeCtrl loaded with customer names (about 8 - 900). Every once in a while, I'll get an assertion from MFC that the scroll position doesn't match npos. Usually, its no problem, however today, I got some very strange visual problems, giant scroll buttons and a continously scrolling control. I was sitting with over 60% free memory. I am not catching low memory messages from the TreeCtrl, (I'll add that). Shouldn't I be well within the memory limits of a TreeCtrl in general. I went back in a added lots of redundant UpdateWindow() calls for every expansion and contraction of the control. (members are added dynamically). Any insight would be much appreciated! Jim Leavitt
Jim Leavitt -- jimll@halcyon.com Wednesday, February 21, 1996 Thank you all for the help on the strange tree control problem I was having. I think I've got it figured out. Mukesh Prasad's response seems to be right on track. I was intercepting mouse down events, specifically LBUTTONDOWN among others. While I was checking for the mouse position, it was still possible to get a stray LBUTTONDOWN posted to the scroll bar of the tree control. I believe this caused all my grief. My fix was to: 1) post LBUTTONUP events after the LBUTTONDOWN. 2) Tighten up the screen position check before posting the message. It seems to be working. (I now have those floating text windows above the tree control that show the entire text of the item if its clipped.) All in all it was rather easy to do, with just the one major hack of posting mouse message through the balloon window to the TreeCtrl. I'd be glad to share this if anyone is interested. If you've implemented balloon windows on TreeCtrls, it would be very interesting to compare note. Thanks again Jim Leavitt
| Вернуться в корень Архива |