Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизКрыса и форма Найти похожие ветки
← →
markers © (2004-11-28 17:39) [0]Вообщем, люди добрые опять же подскажите;) Толком нормально не могу сделать (А может это вообще не возможно?)
Вообще необходимо отбросить форму при наведении мышки на форму (Без кепчина) причем отпрыгивание (Желательно) в сторону противоположной стороны на которой находится мышка, тоесть идёт крыса по иксу настигла форму в точке допустим 150 по иксу, значит нужно отбросить форму ещё дальше допустим на пол размера формы, и ещё ложка дёктя в эту бочку мёда, чтоб можно было крысой передвигать форму (Это я сделал) по клику и передвижению конечно, вообщем запарился может хоть кто-нибудь подскажет? Заранее спасибо!
← →
Gero © (2004-11-28 17:43) [1]Мда. Без 0.5 не разобраться.
← →
markers © (2004-11-28 17:46) [2]не разобраться в моеё писанине или с этой проблемой.
На тему проблемы, есть соображения (И даже пробовал но не нравится), но это всё не то! Может подскажите? Я давно уже спрашивал, мне один ответил кодиком, но что-то он не пахал...
← →
markers © (2004-11-28 17:48) [3]Я сказал "чтоб можно было крысой передвигать форму (Это я сделал) по клику и передвижению", потому, что не знаю как совместить это всё вместе, нормально!
← →
Andy BitOff © (2004-11-28 17:49) [4]На сколько я понял из этого сумбурного потока сознания, создай таймер в нем узнаешь положение мыши и двигаешь форму, думая при этом, чтобы она не вышла за пределы экрана и т.д. Вобщем, что может быть проще.
← →
markers © (2004-11-28 17:50) [5]Делал, но фигня какая-то получается, и как узнать куда её двигуть
← →
Andy BitOff © (2004-11-28 17:52) [6]Ну покажи, тогда чего сделал.
← →
OneFragLeft © (2004-11-28 17:53) [7]Нужно чтобы форма убегала, если на неё наведёшь мышкой? Причем в сторону, противоположную той, откуда пришла мышь?
← →
markers © (2004-11-28 17:53) [8]Примерно, потому-что правил уже сто раз
if Mouse.CursorPos.X >= StaticForm.Left Then
if Mouse.CursorPos.X <= StaticForm.Left+StaticForm.Width Then
if Mouse.CursorPos.Y >= StaticForm.Top Then
if Mouse.CursorPos.Y <= StaticForm.Top+StaticForm.Height Then
begin
if Mouse.CursorPos.X + StaticForm.Width Div 2 <= Screen.DesktopRect.Right Then
StaticForm.Left := Mouse.CursorPos.X + StaticForm.Width Div 2;
end;
← →
markers © (2004-11-28 17:54) [9]то OneFragLeft © Примерно так......
то Andy BitOff © Было сделано пока только по иксу
← →
tormoz (2004-11-28 17:56) [10]А если форма убегает от мыши, то как ее таскать мышью (кликом...)?
← →
OneFragLeft © (2004-11-28 17:56) [11]tormoz (28.11.04 17:56) [10]
Вот и я так ещё подумал...
← →
markers © (2004-11-28 17:57) [12]Вообще это я затеял из-за того, что это окно статистики которое будет всегда висеть на экране и допустим мне надо начать кнопку под этой формой, передвигать её туда-сюда (Если юзеру это место удобно) неудобно, вот в этом вся фича.
← →
markers © (2004-11-28 17:59) [13]есть вриант следить допустим за контролом....
Да кстати после того как форма отскочила, через некоторое время она должна вернутся на свои преждние позиции, но это уже не проблема...
← →
OneFragLeft © (2004-11-28 18:00) [14]Лучше сделй, чтобы она не бегала по экрану, а просто держи где-нибудь около края экрана. При наведении - сдвигай. Глюков меньше будет и мешать не будет.
← →
tormoz (2004-11-28 18:00) [15]Form1.OnMouseDown----------yes:=true;
Form1.OnMouseUp------------yes:=false;
Form1.on mouseMove---------if yes then
begin
Form1.top:=...
Form1.left:=...
end;
← →
markers © (2004-11-28 18:02) [16]да проблема в основном не в этом,а в другом, как лучше всего организовать отскакивание формы, желательно по направлению движения курсора
← →
markers © (2004-11-28 18:04) [17]то OneFragLeft © А кстати мысль, только проверять, чтоб в этом углу она уже не стоит, и сдвигать, а потом когда юзер ушел с прошлой орбиты проги, обратно! Или ещё можно сделать исчизновение!;) Неплохо! Сенкс! Может ещё что предложит!?
← →
tormoz (2004-11-28 18:05) [18]
> markers © (28.11.04 18:02) [16] [Новое
>сообщение][Ответить]
> да проблема в основном не в этом,а в другом, как лучше
> всего организовать отскакивание формы, желательно по
> направлению движения курсора
По направлению курсора, это продолжить линию движения курсора или достаточно просто отскакивать в зависимости от того, в каком месте курсор попал на форму?
← →
OneFragLeft © (2004-11-28 18:05) [19]Тебе самому удобно было бы, если б окошко со статистикой у тебя по всему экрану колбасило?
Видел как панель задач убирается с экрана? Просто сделай наоборот, чтобы при наведении убиралась.
← →
OneFragLeft © (2004-11-28 18:07) [20]Можно её в трэй сворачивать, на при этом могут быть глюки и тормоза.
← →
markers © (2004-11-28 18:07) [21]то tormoz второе...
то OneFragLeft © Ну я уже так и понял, спасибо большое! Ладно сейчас буду мутить!
← →
markers © (2004-11-28 18:09) [22]то OneFragLeft © Не в трей нет, тем паче, что там иконка и так уже имеется да и неудобно энто! Круче с исчезновением;)
← →
OneFragLeft © (2004-11-28 18:12) [23]Ну, дело Ваше.
← →
tormoz (2004-11-28 18:12) [24]Выбери базовую точку(например центр формы), X,Y-координаты вхождения курсора на форму, две точки задают прямую на плоскости. Можно узнать угол ее наклона (наприиер tan=(Yбаз-Y)/(Xбаз-X)), дальше вспоминай тригонометрию...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.04 c