duilib使用#1

来源:互联网 发布:社会网络 编辑:程序博客网 时间:2024/06/03 22:55

隐藏标题栏

示例代码涉及到几个事件,WM_NCACTIVATE,NC表示nonclient area,非客户区。当客户区用来标记状态改变(变为激活或者变为未激活)时发送给窗口。WM_NCCALCSIZE ,需要基数按非用户区大小和位置改变时发送。WM_NCPAINT,窗口框架需要绘制时发送,据说处理这个事件可以实现自绘窗口边框和标题栏。
(1)先处理WM_NCCALCSIZE事件,有很多种情况,在这里只需要了解,刚启动时wp=TRUE,这时我们返回0。
(2)再处理WM_NCACTIVATE的作用是,先用IsIconic盘全判断窗口有没有最小化,如果没有。则判断wParam,这个参数用来标记是否需要改变,以标记激活或者非激活状态。所以,如果系统将要绘制一个激活标题栏时,会发送wParam == TRUE的消息,如果系统将要绘制一个非激活的标题栏时,会发送一个wParam==FALSE 的事件,我们的处理是,如果打算绘制一个非激活状态下的标题栏。我们返回TRUE,告诉系统采用默认处理。如果wParam==TRUE,返回值被忽略。所以,当程序启动时会产生一个wParam==TRUE的事件。
(3)最后处理WM_NCPAINT,我们直接返回0,表示我们已经处理过,不需要再绘制,这样原先通过处理WM_NCCALCSIZE时,盖掉的最小化,最大化按钮就不会再次出现。如果去掉这个,当鼠标放到标题然位置时就会再次出现。

右对齐

如果其中几个空间需要右对齐,则可以在前面加入一个空间,不要设置长度,这样,新添加控件右边的空间在设置固定长度之后就可以右对齐了。

几个容器

Container,VerticalLayout,HorizontalLayout,TileLayout,TabLayout,Combo,List,ListHeader,ListContainerElement,RichEdit,TreeView,TreeNode

几个常用属性

mininfo/maxinfo
HorizontalLayout/VerticalLayout
bkcolor/bkcolor2/bkcolor3
bordersize/bordercolor
inset
更多参见属性列表

0 0
原创粉丝点击