在研究TCustomControl的显示过程中,怎么样都找不到刷新FWinControls并重新显示的代码: procedure TWinControl.PaintHandler(var Message: TWMPaint); var I, Clip, SaveIndex: Integer; DC: HDC; PS: TPaintStruct; begin DC := Message.DC; then DC := BeginPaint(Handle, PS); try if FControls…
五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整个重绘这些FWinControl子控件.那么什么时候才整个重绘全部FWinControls呢?这时候,就不是一个单纯的WM_PAINT来解决控件重绘的问题了,而是这个TWinControl.UpdateShowing函数: procedure TWinControl.UpdateShowing; v…
接下来,继续分析duilib之UI布局Layout,目前提供的布局有:VerticalLayout.HorizontalLayout.TileLayout.TabLayout.ChildLayout分别为垂直布局.水平布局.平铺布局.TAB布局.子窗体布局: 一般项目中用得比较多的是垂直布局.水平布局,我们将分别分析各布局: VerticalLayout:垂直布局,继承于CContainerUI容器UI类:而CContainerUI也继承于CControlUI,故VerticalLayout实际…
1.先初始化侧边的duck,效果图: 实现步骤: 2.然后初始化BottomMenu,效果: 步骤: 其实到这里,会出现一个小bug,那就是: 子控件的位置移高了,主要原因是: 逻辑分析图: 问题解决,可以添加一个底部自动布局: 3.然后初始化Tarbar,效果: 步骤,步骤基本和 一样,这里就简单呈现: 4.初始化IconButton效果: 步骤: 5.初始化BottomMenu子控件效果: 需要添加的代码: 6.添加ContentView 7.设置Tarbar子控件,效果图前面一张图蓝色区域…
这是一个再普通不过的Button1Click执行体: procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('I am Button1'); end; 点击Button1以后,具体过程是:Form收到Button1发来的WM_COMMAND,然后发一个CN_COMMAND给Button1,这个过程就不描述了.这里研究的是VCL在接下去是如何执行的: procedure TButton.CNCommand(var Mes…
关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法二:值越大,重要性越低,所占用的空间越小. 到底哪个正确?哪个错误?抑或还有其他解释?请点击查看关于weight 权重参数作用的详分析: 其实这两种情况都不太准确: 准确的解释是,weight 权限 是用于分配父控件某一方向上尺寸-所有子控件在该方向上设定尺寸和 所得值的一个参数,把这个相减得到的结…
在我们使用WPF设计前台界面时,经常会重写数据模板,或者把控件放到数据模板里.但是一旦将控件放到数据模板中,在后台就没有办法通过控件的名字来获取它了,更没办法对它进行操作(例如,隐藏,改变控件的某个值). 如果你是比我还白的小白,对我刚刚陈述的东西不清楚,接下来我简单说一下什么是把控件放在数据模板中,怎么样的情况没法后台通过名字来获取控件,如果读者对于数据模板这些事儿已经清楚了,或者只关心如何使用可视化树可以将这部分跳过哈. 先上代码介绍一下什么是数据模板以WPF中ListBox控件为例: <L…
常常会碰到在ListView中点击当中一个Item.会一并触发其子控件的点击事件.比如Item中的Button.ImageButton等.导致了点击Item中Button以外区域也会触发Button点击事件.在网上找了相关方法,这里记录下.亲測可行.. 1.在Item的xml文件根元素中加入属性:android:descendantFocusability="blocksDescendants" 2.在冲突的子控件中加入属性:android:focusable="false&…
关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法二:值越大,重要性越低,所占用的空间越小. 到底哪个正确?哪个错误?抑或还有其他解释?请点击查看关于weight 权重参数作用的详分析: 其实这两种情况都不太准确: 准确的解释是,weight 权限 是用于分配父控件某一方向上尺寸-所有子控件在该方向上设定尺寸和 所得值的一个参数,把这个相减得到的结…
TCustomControl = class(TWinControl) private FCanvas: TCanvas; procedure WMPaint(var Message: TWMPaint); message WM_PAINT; protected procedure Paint; virtual; procedure PaintWindow(DC: HDC); override; property Canvas: TCanvas read FCanvas; // 到这步才有Can…
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Backspace110/article/details/86635290WPF通过不透明蒙板切割显示子控件子控件超出父控件显示区域问题使用遮罩蒙板去遮罩显示子控件不透明蒙板 OpacityMask代码拷贝子控件超出父控件显示区域问题在WPF开发过程中,经常会碰到圆角控件,我们一般是通过Border实现,但是如果我们向该控件中放入子控件,同…
UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1.当在某个地方既需要显示图片,还需要显示文字,另外还要有点击功能的时候,这时按钮是个很好的选择. 按钮中的图片和文字的距离可以自由调整,图片的也可以上下左右翻转.日常项目中像这些场景都是很容易碰到的. 按钮图文设置.图文位置移动.按钮中图片翻转示例代码: /** 测试图文并茂的按钮,图文移动 */…
前三天收到位网友的私信求助,问题大概如标题所示.具体是下面的情况,个人感觉,这个问题挺有趣,也会在实际项目开发中很常见.不想看前奏的请直接跳至解决方法. 问题原型: 父控件是自定义的 LinearLayout,目的是实现下拉刷新,这个自定义View的实现下拉操作思想是通过检测 onTouch 事件,然后,子控件有一个 scrollView,它是完全为了实现下滚和滚到底部实现加载更多的监听.看到这,我相信任何一个有类似项目开发经验的人,都会感到很熟悉的.下拉刷新+下滑加载更多. 在 scrollV…
原因:父控件属性android:clickable="true",而textview之类的自控件默认不可点击,没有独立的点击监听,这样选中父控件时,textview之类的子控件也进入选中状态:   解决办法:在textview的属性加上android:clickable="true":设成可点击:   结果:点击父控件时,不会选中textview,点击textview时,才会选中textview:…
需要以上问题时,网上查了很多,结果都是使用android:descendantFocusability属性,设为blocksDescendants就ok了,(具体不详叙述) 可是我给item的根布局设了,也没有效果.原来还需要给这个能截获焦点的子控件设clickable="false",才可以用. 之前遇到过,今天再弄又折腾半天,好记性不如烂笔头,特记…
用一张半透明的图片做背景 使用colorWithWhite:alpha:方法  white后面的参数表示灰度,从0-1之间表示从黑到白的变化,alpha就是你想调整的透明度 bgView.backgroundColor = [UIColor colorWithWhite:0.f alpha:0.5]; 3 在xib或者storyBoard里面对背景进行设置 如图: 半透明背景xib设置.png 通过对背景颜色设置图中的Opacity滑块调整透明度,同样可以达到设置背景半透明而子控件不透明的目的.…
一.主界面横竖屏效果图 二.主界面加载, 初始化Dock(红色框的控件),判断程序启动时的屏幕方向.调用自己- (void)transitionToLandScape:(BOOL)isLandScape;方法,通知子控件屏幕方向改变,将此事件一直传递下去 程序运行过程中屏幕方向改变会调用- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoor…
在自定义cell头部控件UITableViewHeaderFooterView(和自定义cell的方法几乎一样)时,出现了头部控件子控件不显示的问题. 注意和自定义cell的区别. .h文件 #import <UIKit/UIKit.h> #import "CHModleGroup.h" @interface HeaderView : UITableViewHeaderFooterView @property (nonatomic, weak) UILabel *count…
今天在写下面的代码时遭遇错误——“System.Web.UI.WebControls.Literal”不允许使用子控件('System.Web.UI.WebControls.Literal' does not allow child controls): var postBodyDiv = new HtmlGenericControl() { ID = "cnblogs_post_body", ClientIDMode = ClientIDMode.Static, TagName =…
scorllView内部子控件添加约束的注意点: 1.子控件的尺寸不能通过UIScrollView来计算 *比如可以设置固定值 (width==100 height ==100) *比如可以相对于UIScrollView以外的其他控件来计算尺寸 2.UIScrollview的frame应该通过子控件以外的其他控件来计算 3.UIScrollView的contentSize通过子控件来计算 *根据子控件的尺寸以及子控件与UIScrollView之间的间距…
注意:用UIScrollView时布局子控件的时候,不要相对于UIScrollView来添加约束,这样做不是设置子控件的位置,反而是设置了UIScrollView的contentSize 子控件的尺寸不能通过UIScrollView来计算,可以考虑通过以下方式计算 可以设置固定值(width == 100 , height == 300) 可以相对于UIScrollView以外的其他控件来计算尺寸 UIScrollView的frame应该通过子控件以外的其他控件来计算 UIScrollView的…
方法很好用.目的是遍历所有容器的子控件... 方法1private void GetControl(Control.ControlCollection ctc, ref int checkNull) { foreach (Control ct in ctc) { if (ct is TextBox) { if (ct.Text.Length <= 0) { checkNull = 1; } } //C#只遍历窗体的子控件,不遍历孙控件 //当窗体上的控件有子控件时,需要用递归的方法遍历,才能全部…
一.wpf项目中引用WindowsFormsIntegration和System.Windows.Forms 二.Form1.Designer.cs 的 partial class Form1 设置为:public partial class Form1 三.代码如下: XXXX.Form1 Zhuwindow = new XXXX.Form1(); Zhuwindow.TopLevel = false; Zhuwindow.FormBorderStyle = System.Windows.Fo…
TWinControl = class(TControl) property ParentWindow: HWnd read FParentWindow write SetParentWindow; // 注意它的参数是windoows句柄,而不是Win控件,适合于那些不需要父控件管理内存释放的子控件 // 哲学,这个函数极少被用到(它是Delphi的写属性),只有菜单,ActiveX,THintWindow,TOpenPictureDialog,TOleForm和TShadowWindow用到…
动态子类化CComboBox以得到子控件EDIT及LISTBOX Joise.LI写于2004-4-6 ComboBox是比较常用的一个控件,有三种样式:CBS_SIMPLE(简单),CBS_DROPDOWN(下拉),CBS_DROPDOWNLIST(下拉列表),其中下拉列表样式是不允许输入的,简单样式是永远都显示下拉框的. ComboBox是由一个ListBox和一个Edit框组合而成.本文将以限制只能输入电话号码为例介绍子类化过程得到Edit框(类似的可以得到ListBox). 电话号码只能…
前言:对于Repeater控件,相信从事NETWeb开发的同仁们再熟悉不过了.因其呈现方式和Literal一样,并不在前端生成任何表单标签元素,所以属于比较轻量级的控件.不过青睐于Repeater的主要原因还是其表单布局的自由性和易控性.下面就来总结一下使用Repeater常用的功能:子控件的查找. 一.在ItemTemplate和AlternatingItemTemplate中查找 这个估计大家应该都知道,不过这里还是要列一下,代码如下: RepeaterItemCollection ReIt…
今天自定义了一个组合控件,与到了个奇葩问题: 我自定义了一个RelativeLayout,这个layout内有多个子控件.但奇怪的是这些子控件一直显示不出来.调试了一下午,竟然是因为在获取(inflate)布局时没有添加到Root.…
/// <summary> /// 寻找某个控件下的子控件 /// </summary> /// <typeparam name="ChildType"></typeparam> /// <param name="obj"></param> /// <returns></returns> private ChildType FindVisualChild<Child…
@Override public View initView() { RelativeLayout container = new RelativeLayout(UIUtils.getContext());// 容器 AbsListView.LayoutParams ctparams = new AbsListView.LayoutParams( AbsListView.LayoutParams.MATCH_PARENT, UIUtils.dip2px(150)); container.setL…
WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系: 1.Canvas/WrapPanel控件: 其子控件的HorizontalAlignment/VerticalAlignment属性无效.2.Grid控件: 其子控件的HorizontalAlignment/VerticalAlignment属性有效.3.StackPanel控件: A.当其Orientation属性等于Horizontal时,其子控件的HorizontalAlig…