Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сделать перетаскиваемую форму за любое место [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо