稍微用脑子想了一下,图形控件没有句柄,因此先把自己的坐标改一改,然后只要把父控件的某些区域Invalidate一下就可以了,WM_PAINT消息一来,父控件就会重绘所有子图形控件,就达到了相应的效果。怪不得没看到调用SetWindowPos这样的函数。有空详细跟踪一下。举例:procedure TF... Read More
posted @ 2015-08-26 17:36 findumars Views(320) Comments(0) Diggs(0)
Delphi的重要属性,主要是Enable, Visible, Color, left等等。这里分析left,因为TWinControl里有些覆盖函数的原因,虽然起点都是TControl.SetLeft()函数,但是图形控件和Win控件走的是不一样的路线。这里是测试TWinControl的left代... Read More
posted @ 2015-08-26 17:32 findumars Views(698) Comments(0) Diggs(0)
没有内容,不代表没有边框。比如设计期一个空的TImage仍是有边框的。if (csOpaque in image1.ControlStyle) then ShowMessage('不透明')else ShowMessage('透明') // image1没有内容的时候,就是透明;有内容的时候,就是不... Read More
posted @ 2015-08-26 17:30 findumars Views(1369) Comments(0) Diggs(0)
下面这2种方法都能实现对控件和窗体的拖拽方法1procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin ReleaseCapture... Read More
posted @ 2015-08-26 16:15 findumars Views(1224) Comments(0) Diggs(0)
没办法,改源代码: 找到:Forms单元中scrollbox的父类: TScrollingWinControl = class(TCustomControl) 改: { TScrollingWinControl } // //begin TOnAfterScroll=procedure(Scroll Read More
posted @ 2015-08-26 05:07 findumars Views(1055) Comments(0) Diggs(0)