如何做类似PHOTOSHOP的工具栏(100分)

  • 主题发起人 主题发起人 MAOLEIS
  • 开始时间 开始时间
M

MAOLEIS

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何在DELPHI中做出类似PHOTOSHOP的工具栏,工具栏与主窗口同时能够获得
焦点,又可以拖动
 
用一无标题栏的窗体作工具栏,标题可以用其他控件模仿.再在此控件上编写拖动窗体的代码..
是否获得焦点可以通过主窗体和该窗体的事件感应来改变模仿标题栏控件的状态.
 
提问者:
如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
请认真阅读大富翁论坛规则说明

http://www.delphibbs.com/delphibbs/rules.asp
 
用一Panel作工具栏,可以如下 :
在Form上放一Panel
var
xx,yy :Integer;
IsDrag :Boolean;
procedure TMainForm.FormCreate(Sender: TObject);
begin
IsDrag :=False;
end;

procedure TMainForm.PanelMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
IsDrag :=True;
SetCapture(Handle);
XX :=x;
YY :=y;
end;

procedure TMainForm.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if IsDrag then
begin
Panel.Left :=x-XX;
Panel.Top :=y-YY;
end;
end;

procedure TMainForm.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if IsDrag then
begin
Panel.Left :=x-XX;
Panel.Top :=y-YY;
ReleaseCapture;
IsDrag :=False;
end;
end;
 
MAOLEIS:如果对上述回答满意,可以结束问题,否则请提前问题或发表意见
 
May be the ToolBar of the PhotoShop is a ToolWindow,You can try the BorderStyle
:= bsToolWindow;
 
ABC控件组中有现成的。
 
接受答案了.
 
后退
顶部