Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Системное меню (переместить/размер)


Автор: selax 9.11.2007, 12:43
При нажатии в системном меню на пункты переместить/размер появляется крестик и стрелками можно изменить размер/переместить форму. Какое сообщение можно послать, чтобы появился такой же крестик? Например по нажатию на кнопку. При условии, что системное меню в свойствах формы отключено.

Автор: Snowy 9.11.2007, 13:19
Код
var p: TPoint;
begin
  GetCursorPos(p);
  Perform(WM_SYSCOMMAND, SC_SIZE, p.Y shl 16 or p.X);
end;

Автор: ama_kid 9.11.2007, 13:23
Snowy, вроде бы при посылке сообщения WM_SYSCOMMAND не мышкой - lParam не используется (написано в МСДН), поэтому прокатит и просто
Код
procedure TForm1.Button1Click(Sender: TObject);
begin
 Perform(WM_SYSCOMMAND,SC_MOVE,0);
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)