张志峰的博客

水滴石川,积少成多。

导航

2011年7月19日

摘要: procedure TForm1.FormCreate(Sender: TObject);begin pb := TPaintBox.Create(Self); pb.Parent := Self;end;procedure TForm1.Button1Click(Sender: TObject); begin pb.Canvas.Pen.Color := clBlue; pb.Canvas.Brush.Color := clRed; pb.Canvas.Rectangle(0,0,50,50);end; 阅读全文

posted @ 2011-07-19 14:58 ╰★张志峰★╮ 阅读(1731) 评论(0) 推荐(0)

摘要: 1.在窗体的public里写procedure WmMouseSheel(var msg:TWMMOUSEWHEEL);message WM_MOUSEWHEEL;函数。具体的实现部分如下: procedure TMapChildFrm.WmMouseSheel(var msg: TWMMOUSEWHEEL);var pt: TPoint;begin GetCursorPos(pt); //{这是获取的相对于屏幕的坐标} pt := ScreenToClient(pt); //{转换成本地坐标} if (pt.X>ScrollBox1.Left) and(pt.X<ScrollBo 阅读全文

posted @ 2011-07-19 14:06 ╰★张志峰★╮ 阅读(1008) 评论(0) 推荐(0)

摘要: 前段时间在论坛里看了一篇关于剖析VCL结构的文件,其中不少高手的开怀畅谈让小辈们心里感觉非常的痛快!看完余又觉得不能光看,也该将自己的心得拿出来与大家分享,于是就边夜翻看VCL源码,终于将VCL如何实现DragDrop功能的过程弄个“基本明白”,其中可能会有不当之处,再加上小弟的文学水平也只是初中毕业,有些地方也许会表达不当,但其意思也基本上八九不离十了,故也请大家开怀畅言、批评指正,都是为了进步嘛!哈哈…… 虽然DragDock操作与DragDrop操作是密切相关,并且很大一部分操作是相同的,但本文暂且不讨论与DragDock有关的部分,留待下回分解或也给大家表现表现……………… 一、与Dr 阅读全文

posted @ 2011-07-19 10:07 ╰★张志峰★╮ 阅读(2612) 评论(0) 推荐(0)

摘要: 刷新一下 PaintBox1.Refresh;procedure TForm1.Button2Click(Sender: TObject); begin PaintBox1.Canvas.MoveTo(0,0); PaintBox1.Canvas.LineTo(100,100); end;procedure TForm1.Button3Click(Sender: TObject); begin PaintBox1.Canvas.Brush.Color := clBtnFace; PaintBox1.Canvas.FillRect(PaintBox1.ClientRect); 阅读全文

posted @ 2011-07-19 09:40 ╰★张志峰★╮ 阅读(3045) 评论(0) 推荐(0)