一个非常容易的问题(10分)

  • 主题发起人 主题发起人 wjh_wy
  • 开始时间 开始时间
W

wjh_wy

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样实现像Wrod 2000中拖支垂直滚动条,在某个地方一直显示当前页的提示等到鼠标松
开的时候才消失。先谢谢各位了
 
举个例子:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
ScrollBar1: TScrollBar;
procedure FormCreate(Sender: TObject);
procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
hw:THintWindow;
implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
hw := THintWindow.Create(self);
end;

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
var
po: TPoint;
p :Pointer;
rect :TRect;
begin

GetCursorPos(po);
rect := hw.CalcHintRect(po.x+200,ScrollBar1.Hint,p);
rect.Left := po.x+10;
rect.Right := po.x+40;
rect.Top := po.y;
rect.Bottom := po.y+20;
hw.Color := clInfoBk;
hw.ActivateHint(rect,inttostr(ScrollPos));

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
hw.Width := 0;
end;

end.
 
设置一个属性就可以了,具体的属性你自己试吧
 
设置一个属性就可以了,具体的属性你自己试吧
 
to zw84611 不错,但还是没有像 word 哪种效果
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
802
DelphiTeacher的专栏
D
D
回复
0
查看
747
DelphiTeacher的专栏
D
D
回复
0
查看
696
DelphiTeacher的专栏
D
D
回复
0
查看
661
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部