Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
ВнизОграничение границ при перетаскивании объекта Найти похожие ветки
← →
Supreme (2002-11-29 17:27) [0]На событии OnMouseDown формы Form1 я пишу:
const
SC_DragMove = $F012;
{ a magic number }
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;
А как мне сделать, чтобы нельзя было перемещать форму дальше чем её
позиция будет равна Form1.Left:=0 ???
Т.е. чтобы она перемещалась только вверх-вниз.
← →
Supreme (2002-12-05 23:32) [1]Ну помогите пожалуйста, неужели так сложно?
← →
Supreme (2002-12-07 15:10) [2]Народ, вы где? Кто-нить может помочь? Если нет - так и скажите.
← →
Supreme (2002-12-10 17:50) [3]Аууууу!!!
← →
Skier (2002-12-10 17:54) [4]>Supreme
IMHO, лучше обратиться к сообщениям
WM_MOVE и WM_MOVING
← →
Supreme (2002-12-10 18:44) [5]Просто мне надо, чтобы форма двигалась только вверх-вниз по экрану, а за бока не заезжала (она по длине на весь экран).
← →
не понял (2002-12-10 18:58) [6]А, типа просто в OnMouseUp формы не подойдет ?
if Left < 0
then Left:=0;
← →
Skier (2002-12-11 10:33) [7]>Supreme
Ограничение на Left можно сделать примерно так :
(на остальные варианты додумай сам...)
type
TForm1 = class(TForm)
private
procedure WMMoving(var Message : TMessage); message WM_MOVING;
end; //TForm1
//.........
procedure TForm1.WMMoving(var Message: TMessage);
begin
with PRect(Message.LParam)^ do begin
if Left < 0 then begin
Right := Right - Left;
Left := 0;
inherited;
end //if
else inherited
end; //with
end;
← →
Supreme (2002-12-12 17:07) [8]Спасибо!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c