zjy
管理员
UID 2
Digest Posts
6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16 Location China
Status Offline
|
|
您提到的问题,其实是由于 TGraphicControl 和 TWinControl 两大类控件的差异。VCL 对 Windows 图形用户系统做了大量的包装,TWinControl 是真正意义上的窗口控件,拥有独立的窗口句柄,可以拥有子窗口。而 TGraphicControl 只是 VCL 虚拟出来的图形控件,本身没有窗口句柄,不能获得窗口焦点,也不能作为其它窗口的父窗口。VCL 通过一套控件消息派发机制使得没有窗口句柄的 GraphicControl 也能影响恍如鼠标点击等事件。Image 通常只用来显示图像,在 VCL 和 CnPack 中都是 GraphicControl。建议您找本讲解 VCL 和 Win32 系统的书来看看。
不过您提到的问题,倒是可以有解决办法的。虽然我们不能在设计期把 Image 放到 Grid 的上面,但是可以在运行期,把 Image 的 Parent 属性设置到 Grid,使其成为 Grid 的子控件而达到显示在最上面的目的。您可以试试在窗体的 OnCreate 事件里写上:
Image.Parent := Grid;
Image.Left := 10;
Image.Top := 10;
看看效果。
|
Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
|
|
|