Re: Controls won't get resized in deep window hierarchies
Catalin Rotaru <[email protected]>
| Newsgroups | gmane.comp.windows.wtl |
|---|---|
| Message-ID | <[email protected]> |
Others hitting the same issue, with some more tech details: http://yuo.be/wiki/columns_ui:faqs (last question) On Tue, Apr 21, 2009 at 11:42 AM, Catalin Rotaru <[email protected]> wrote: > No, it's Vista 64 only. Can't reproduce on 32-bit Vista. SetPoint > seems to cause the issue though. > > On Tue, Apr 21, 2009 at 11:28 AM, Catalin Rotaru > <[email protected]> wrote: >> 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/