Re: Controls won't get resized in deep window hierarchies
Catalin Rotaru <[email protected]>
| Newsgroups | gmane.comp.windows.wtl |
|---|---|
| Message-ID | <[email protected]> |
Oh! I found the culprit: SetPoint software from Logitech. When it's stopped, everything is fine. When it is started, the problem shows up, even on a 32-bit Vista. This is stranger now, I can't even fathom the interactions. The question is how can I change my application to make sure it works even with Setpoint active... Tue, Apr 21, 2009 at 10:29 AM, Catalin Rotaru <[email protected]> wrote: > Hi Nenad, > > My window hierarchy is only 8 levels deep. There are tens of sibling > windows (controls) on each level, but I don't know if that has any > influence on the result. Stack size is system default. > > The problem has only appeared so far on a few Vista 64 computers (not > all of them) and never on 32-bit OSs (Vista or XP). > > If you want, I can run your test app and let you know if I can > reproduce the problem. > > Thanks for the custom message idea - I'll give it a try. > > All the best, > Cata > > On Sun, Apr 19, 2009 at 1:33 PM, Nenad Stefanovic <[email protected]> wrote: >> >> >> This is pretty strange problem. Based on the description, it seems to me >> that it is related to the stack size. >> >> Just for fun, I tried that on Vista 32-bit - I was able to get ~30 levels >> deep. I was also able to go much further by posting a custom message on >> 20-th level, and in handler for that message do the same as WM_SIZE handler >> would do. So, you can do the same - you'll need to change some of the >> classes that you have. >> >> Now, after saying all this, I have to note that if you have more than 15 >> level deep hierarchy, you should consider redesigning your app. I know that >> splitters, panes, etc. can easily add depth levels, but over 15 sounds a bit >> extreme. >> >> Cheers, >> >> Nenad >> >> From: [email protected] [mailto:[email protected]] On Behalf Of Catalin >> Rotaru >> Sent: Thursday, April 16, 2009 1:35 PM >> To: [email protected] >> Subject: [wtl] Controls won't get resized in deep window hierarchies >> >> We have an application with a complex hierarchy of Splitters, Pannels >> and Resizable dialog-views. Recently we noticed that on 64-bit Vista >> resizing the main frame would fail to resize the inner-most windows or >> controls. >> >> A bit of research got me to this: >> >> http://blogs.msdn.com/alejacma/archive/2008/11/20/controls-won-t-get-resized >> -once-the-nesting-hierarchy-of-windows-exceeds-a-certain-depth-x64.aspx >> >> Turns out that recursive calls WM_SIZE must not exceed a certain depth >> which on x64 is not very large. >> >> It's a known bug. An awful one. Yet another reason to make me want to >> switch to a HWND-free framework, and to never have to deal with the >> problems and limitations Microsoft has in Windows' controls. >> >> Anyway, the question is now: what to do? Anybody had encountered this >> problem before? Suggestions of a workaround? I can't exactly change my >> hierarchy thus I need a way to deliver the WM_SIZE messages >> non-recursively. But they are triggered by main frame resizes and the >> recursive calls are in CDialogResize, Splitter and Panel. So I am at a >> loss. >> >> Any suggestions are GREATLY appreciated. >> >> Thanks, >> Cata >> > ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/wtl/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/wtl/join (Yahoo! ID required) <*> To change settings via email: mailto:[email protected] mailto:[email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/