如何将控件放入标题栏?

时间:2010-07-13 05:39:59

标签: c++ c user-interface winapi

我注意到Firefox 4,Opera和Chrome以及IE 7/8在标题/标题栏中放置了按钮和控件,这是怎么做到的?

由于 http://img199.imageshack.us/img199/3307/slayerf.png

alt text http://img199.imageshack.us/img199/3307/slayerf.png

3 个答案:

答案 0 :(得分:2)

他们可能做的是完全关闭标题栏(通过排除WS_CAPTION窗口样式),在窗口顶部添加一个玻璃区域,然后绘制自己的控件。

有关玻璃的更多信息,请参阅http://msdn.microsoft.com/en-us/magazine/cc163435.aspx

答案 1 :(得分:0)

他们可能只是处理WM_NCPAINT消息并自行绘制部分非客户区域(包括边框和标题栏);他们还将处理WM_NCLBUTTONDOWN,WM_NCHITTEST和其他WM_NC *消息,以模拟标题栏上按钮的行为。

或者至少,这是在Aero之前常见的方式;我不知道它改变了这种事情。

答案 2 :(得分:-2)

是的,你可以这样做..你有使用窗口挂钩,在远程进程中插入你的dll并远程运行dll的功能。这里有完整的文章处理它: -

http://www.codeproject.com/KB/threads/winspy.aspx