在 FlexGrid 控件中指定最右侧显示的列

FlexGrid 控件提供了指定左侧显示列的功能。因项目的需要,要求能够指定最右侧显示的列。
实现方法:
获取表格客户区宽度,然后通过每列的宽度计算出水平滚动条的位置。
但是有一个麻烦,就是垂直滚动条的问题。
首先要能判断是否有垂直滚动条,
然后有垂直滚动条时,需要减出垂直滚动条的宽度,
但是控件没有提供这方面的接口。

猜想控件的滚动条可能是两种情况:
1。FlexGrid是复合控件,其中包含了滚动条对象。
这样的话,用reflector查看一下对象命名,可以通过反射访问到内部的滚动条对象。

2。是传统Win32的滚动窗体。
这样的话,可以通过win32 api函数来判断。

用reflector看了一下控件代码,是第二种情况。
所以用win32 api来解决。
用api函数
lStyle = GetWindowLong(hWnd, GWL_STYLE);
获取Style然后判断
Style中是否有 WS_VSCROLL。

如果有就代表有 垂直滚动条。
再获取 滚动条的最大值和最小值,如果相等则滚动条不可见。不相等则可见。

时间: 2024-08-03 07:47:37

在 FlexGrid 控件中指定最右侧显示的列的相关文章

在ASP.NET 2.0中操作数据:在GridView控件中使用TemplateField

asp.net|控件|数据 导言     让我们花点时间在浏览器中来看看我们的成果.这时,你将看到一个表格, 表格中每一个记录都是一个雇员的信息,一共有四列:一个是雇员的姓, 一个是名字,一个是头衔,还有一个是他们的受雇日期.     就像你看到的那样,TemplateField由两个模板组成--一个ItemTemplate,它有一个Label控件,其Text属性被设置为FirstName数据字段的值:还有一个EditItemTemplate,它有一个TextBix控件,其Text属性也被设置为

在ASP.NET 2.0中操作数据之十三:在DetailsView控件中使用TemplateField_自学过程

导言 比起BoundField.CheckBoxField.HyperLinkField以及其他的那些数据字段控件(data field controls)来说,TemplateField提供了一种高度复杂的数据呈现的方法.在上一节中,我们主要着重于在GridVIew中使用TemplateField,以实现: ·在一列中显示多个数据字段.比如说,将FirstName和LastName字段合并起来显示在一个GridView列中. ·使用交互Web控件来展示数据.我们看到了如何使用一个Calenda

在ASP.NET 2.0中操作数据之十二:在GridView控件中使用TemplateField_自学过程

导言 GridView是由一组字段(Field)组成的,它们都指定的了来自DataSource中的什么属性需要用到自己的输出呈现中.最简单的字段类型是BoundField,它仅将数据简单的显示为文本.其他的字段类型使用交互HTML元素(alternate HTML elements)来显示数据.比如说,CheckBoxField将被呈现为一个CheckBox,其选中状态由某特定数据字段的值来决定:ImageField则将某特定数据字段呈现为一个图片,当然,这个数据字段中应该放的是图片类型的数据.

在DataGrid控件中获取数据项中各列的数据内容

datagrid|datagrid控件|数据 在DataGrid控件中,一般只是在绑定列或模版列中进行数据显示. 在编写DataGrid控件(控件名为dg1)的事件的处理方法时,通常希望获取数据项某列的数据. 除了SelectedInexChanged事件外,其它事件的处理方法的参数e都是DataGridCommandEventArgs类的实例.通过e实例,可以获取引发事件的数据项中数据. 1.获取绑定列中的数据 1)处于非编辑状态.或者数据项处于编辑状态但该绑定列只读   e.Item.Cel

在C#中,在windows窗体控件中添加了个windows media player 播放器控件,怎样可以选择哪一首旧播放哪一首??

问题描述 在windows窗体中还有个listview控件显示从数据库显示的歌曲名称等信息,在listview控件中显示歌曲列表,并设置了右键快捷播放按钮,怎样可以选择一首歌就播放哪首歌?歌曲从数据库查询得到歌名等信息,添加到listview控件中,在里面显示歌曲列表.然后设置了个右键播放快捷键,选中一首个旧播放它.怎么绑定选择那首歌旧播放哪首歌.privatevoid播放ToolStripMenuItem_Click(objectsender,EventArgse){stringpath=En

C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中

问题描述 C# winform 关于ToolStrip控件工具项拖动到指定的Panel控件中 C# Winform项目中,在form窗体中有一个ToolStrip控件(用于放所有的系统的功能项,目前大概有将近15个功能项,后续会陆续增加应用的功能项), 两个Panel控件(panel1和panel2控件是两个目标区,用于将ToolStrip控件中的子项拖放到的目标区域,在目标区域中打开或执行ToolStrip控件子项) 请问下,怎么样实现如下两个功能: 1.实现鼠标选中ToolStrip控件的子

vb的FlexGrid控件

访问Hierarchical FlexGrid控件要在Visual Basic中安装并访问Hierarchical FlexGrid控件,请使用以下步骤.要安装和访问Hierarchical FlexGrid控件1. 在"工程"菜单中,选择"部件".出现"部件"对话框.2. 在"控件"选项卡中,选择"MicrosoftHierarchical FlexGridControl 6.0",然后单击"确

MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片

        最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在<数字图像处理>课程中完成的软件都是基于单文档的程序,这里介绍两种在对话框picthre控件中显示BMP图片的最简单基础的方法.       ~~方法可能并不完美,高手忽略,但是提供一种能运行的方法,希望对刚接触这方面知识的同学有所帮助.可能你觉得文章过于简单或者有些过于详细叙述(点到即可我并不反对),但也为哪些入门同学想想,当初自己也是一头雾

在UpdatePanel控件中使用验证控件

在本演练中,您将在 UpdatePanel 控件中使用验证控件以在浏览器中执行验证. 所用示例是一个简化的票证查询系统.用户可以指定他们所需的日期和票证数目.当用户提交该页时,该页将指示是否存在可用票证. 接受用户输入的控件位于 UpdatePanel 控件中.若要确保用户只输入有效的值,则还需要在 UpdatePanel 控件中添加验证控件. UpdatePanel 控件中的按钮可执行异步回发,但仅在用户输入有效时才起作用.当在浏览器中验证成功后,将执行异步回发并刷新面板的内容. 先决条件 若