TWinControl中的滚动条是哪里来的?看了TStringGrid和它的几个祖宗,压根没见ScrollBar 比如TStringGrid的scrollbar和TTreeview的Scrollbar,是不是使用了windows标准控件呢?如果是的话是在哪里声明的呢?请大虾指点一二! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是看得delphi帮助吧,那都被封装了,要看源代码,比如TStringGrid的前几代的(没数)中有TCustomGrid = class(TCustomControl) private procedure SetScrollBars(Value: TScrollStyle); procedure WMHScroll(var Msg: TWMHScroll); message WM_HSCROLL; procedure WMVScroll(var Msg: TWMVScroll); message WM_VSCROLL; protected property ScrollBars: TScrollStyle read FScrollBars write SetScrollBars default ssBoth; gogogo(嘿嘿) 兄,SetScrollBars调用了API函数Perform(CM_RECREATEWND, 0, 0),这是不是说ScrollBar是windows标准控件中的组成部分啊? 你可以看看WIN API CreateWindow的参数,好象是里面的style里有scrollbar的参数CM_RECREATEWND是Delphi自己定义的消息,收到此消息它会重建wnd,一个较复杂的过程,设置很多窗口style时也会重建wnd,这也是很多时候改窗口的style会造成窗口闪烁的原因. 有没有scrollbar关键是窗口(控件)的style决定的,关键你要注意他哪个地方改了窗口的风格,如果你用过vc,就会知道,对话框上的控件只不过是一些不同风格的资源而已,其属性和方法等操作元素是后来再附加上去的,也就是说如果没有后台代码,只用资源仍然可以使用这个只能显示的控件。 一个设想,通过中转服务器,交换信息 急!上下键问题!!! delphi7中显示报表时报错.搞不懂请帮忙给看看. 用OpenToolsApi 创建一个Form模板碰到的问题 OleVariant类型(里面是二进制),怎么才能把它存成文件。顶者有分 !!高手们帮忙呀! 实时控制 窗口退出问题 提取exe的图标,并将这个图标设为speedbutton.glyph属性 串口编程中开多个多线程(带数据库模块)产生的问题 在DELPHI里面如何给ACTIVECONTROL重新排序。 200分请教 FarPoint.Spread.v7.0.06用法问题 谁能推荐一些用delphi连接sql案例资料
TCustomGrid = class(TCustomControl)
private
procedure SetScrollBars(Value: TScrollStyle);
procedure WMHScroll(var Msg: TWMHScroll); message WM_HSCROLL;
procedure WMVScroll(var Msg: TWMVScroll); message WM_VSCROLL;
protected
property ScrollBars: TScrollStyle read FScrollBars write SetScrollBars default ssBoth;
CM_RECREATEWND是Delphi自己定义的消息,收到此消息它会重建wnd,一个较复杂的过程,设置很多窗口style时也会重建wnd,这也是很多时候改窗口的style会造成窗口闪烁的原因.