黄
黄耀彰
Unregistered / Unconfirmed
GUEST, unregistred user!
关于MDI Client 滚动条的问题: ^_^
我用 Delphi 5做了一个MDI 应用程序,设计时用了两个窗体,一个作为MDI主窗体,另一个作为 MDI 子窗体。
在运行时,当把MDI 子窗体移动到超出 MDI Client 的边界时,总是出现水平滚动条或垂直滚动条,我想删掉它,不知应该怎么做?
下面的做法我已经试过:
我曾经多次阅读过关于MDI 部分的VCL 源代码,发现了TCustomForm 类有一个 ClientHandle 只读属性(It also exists in the Delphi5’s help),这其实是一个MDI Client 的窗口句柄,于是,我马上创建一个新的应用程序,用ClientHandle 作为GetWindowLong 和SetWindowLong API 函数的第一个参数调用,改变MDI Client 的窗口风格,把它的滚动条删掉,但没有效,并且,发现这对滚动条根本不属于MDI Client 窗口风格的一部分(即,没有设置SC_VSCROLL和 SC_HSCROLL ),这时,我开始怀疑它是否是用VCL来创建的,而且,由VCL自己来管理。如果真的是那样,就难搞了。
是否我的思路不对,还是另有什么好方法,有请大虾多多指教.
Thank you !
我用 Delphi 5做了一个MDI 应用程序,设计时用了两个窗体,一个作为MDI主窗体,另一个作为 MDI 子窗体。
在运行时,当把MDI 子窗体移动到超出 MDI Client 的边界时,总是出现水平滚动条或垂直滚动条,我想删掉它,不知应该怎么做?
下面的做法我已经试过:
我曾经多次阅读过关于MDI 部分的VCL 源代码,发现了TCustomForm 类有一个 ClientHandle 只读属性(It also exists in the Delphi5’s help),这其实是一个MDI Client 的窗口句柄,于是,我马上创建一个新的应用程序,用ClientHandle 作为GetWindowLong 和SetWindowLong API 函数的第一个参数调用,改变MDI Client 的窗口风格,把它的滚动条删掉,但没有效,并且,发现这对滚动条根本不属于MDI Client 窗口风格的一部分(即,没有设置SC_VSCROLL和 SC_HSCROLL ),这时,我开始怀疑它是否是用VCL来创建的,而且,由VCL自己来管理。如果真的是那样,就难搞了。
是否我的思路不对,还是另有什么好方法,有请大虾多多指教.
Thank you !