Re: Controls won't get resized in deep window hierarchies
Catalin Rotaru <[email protected]>
| Newsgroups | gmane.comp.windows.wtl |
|---|---|
| Message-ID | <[email protected]> |
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/