![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сделать перетаскиваемую форму за любое место [D6, XP]
pound © (2007-01-15 17:29:00)Подскажите, как сделать перетаскиваемую форму за любое место.
Кладу на форму TSpeedButton
Делаю форму за любое место.
type
TForm1 = class(TForm) private
sbMyButton: TSpeedButton;
private { Private declarations }
procedure WMNCHITTEST(var Msg: TMessage); message WM_NCHITTEST;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle, GWL_STYLE,
GETWINDOWLONG(Handle, GWL_STYLE) and (not WS_CAPTION));
Height := ClientHeight;
end;
implementation
{$R *.dfm}
procedure TForm1.WMNCHITTEST(var Msg: TMessage);
begin
inherited;
Msg.Result := HTCAPTION;
end;
Результат: sbMyButton перестаёт работать.
TButton работает, но мне нужен именно TSpeedButton.
unknown (2007-01-15 17:35:00) [1]
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);
end;