Re: How to get XP style themed splitter bar ?
"domehead100" <[email protected]>
| Newsgroups | gmane.comp.windows.wtl |
|---|---|
| Message-ID | <[email protected]> |
--- In [email protected], "Richard B." <dj_deipotent@...> wrote: > > Hi Mike, > > > > The problem is that the RichEdit Control itself is not theme aware as far as I understand it. > > > You might find this interesting: > > > http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c8729 > > Thanks for the info. I wasn't aware RichEdit is not theme aware. > > However, that is not the problem, as even if I create two views which > are just plain windows derived from CWindowImpl, the splitter is still > not themed. > > I have created a test project with sample screenshots showing what I > see (in case there is something funny with my system) and what I'm > after (taken from the CP article). > > http://rapidshare.com/files/229223585/WTL_Splitter_Not_Themed.zip > > -- > Best regards, > Richard B. > > > Monday, May 4, 2009, 11:01:53 PM, you wrote: > > > > > --- In [email protected], "Richard B." <dj_deipotent@> wrote: > >> > >> I've been looking at Mike Dunn's CodeProject WTL Splitter Windows > >> article (Part VII), and have been trying to replicate the look of the > >> last window on the right under the section "Effects of > >> WS_EX_CLIENTEDGE" (and just above the "Message routing" section). > >> > >> Unfortunately, while other window elements are themed (eg. status bar, > >> window resize grabber on bottom right of window), the splitter itself > >> is not. I have tried various combinations of WS_EX_CLIENTEDGE on the > >> different window, as explained in his article with no luck. The best I > >> can do is create the splitters shown in the screenshots on the left of > >> the page. > >> > >> I used the WTL wizard to create a basic window without a view. I then > >> followed his instructions and created a vertical splitter window, and > >> put a rich edit control in each pane. > >> > >> Any ideas on how to get the splitter window themed ? > >> > >> -- > >> Best regards, > >> Richard B. > >> > > > Hi Richard, > > > The problem is that the RichEdit Control itself is not theme aware as far as I understand it. > > > You might find this interesting: > > > http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c8729 > > > Hope this helps, > > > ~Mike > > > > Um, doesn't look like your CTesterView has theme support either, just being based on a generic CWindow. What if you derive it from some built-in control? I don't have themes enabled on my XP desktop, otherwise I would try it out myself. I've always believed that for custom controls (e.g., not one of the specific built-in controls or common controls) or even for owner-drawn derivatives of built-in controls you had to use uxtheme.dll and do your own "themed" drawing if you determine that the OS supports themes. Maybe I'm wrong? By the way, depending on what you're trying to accomplish, you might find it easier to derive your own splitter class from CSplitterWindowImpl and override DrawSplitterPane and/or DrawSplitterBar in your own class (and add a CHAIN_MSG_MAP() entry at the end of your message map to call the base CSplitterWindowImpl message map). I did something similar and it worked nicely and was very easy to do. ~Mike ------------------------------------ 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/