Re: Re: How to get XP style themed splitter bar ?
"Richard B." <dj_deipotent-/[email protected]>
| Newsgroups | gmane.comp.windows.wtl |
|---|---|
| Message-ID | <[email protected]> |
> 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?
Thanks Mike. After using two listviews I got the desired effect.
For some reason, I was thinking every window would be themed
automatically. Now I know better. :)
BTW, regarding my other recent post about the message loop and idle
processing ("Confused about WTL CMessageLoop....") - do you know why
WM_MOUSEMOVE, WM_NCMOUSEMOVE, WM_PAINT, and WM_SYSTIMER do not cause
idle processing ?
--
Best regards,
Richard B.
Tuesday, May 5, 2009, 12:17:53 AM, you wrote:
> --- 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/