SamForum.org  
SamLab.ws
Заблокированные пользователи

Вернуться   SamForum.org > Программирование > Pascal и Delphi
Важная информация

Закрытая тема
 
Опции темы Опции просмотра
Delphi, свойства формы
Старый Добавлено: 27.08.2007, 09:39
  (#1)
Artful
Наблюдающий
Пользователь
 
Аватар для Artful

По умолчанию Delphi, свойства формы

Есть форма, полупрозрачная, степень прозрачности задана в свойствах формы, нужно чтобы при наведении на форму указателя мыши она становилась полностью не прозрачная... и после того как мышь убрали - снова становилась полупрозрачная!
Как это сделать? Через события мыши? Если да, то через какие и как?!
Artful вне форума Отправить личное сообщение для Artful
Вверх
Ответить с цитированием
Старый Добавлено: 27.08.2007, 14:33
  (#2)
Koba
Заслуженный
Заслуженный пользователь
 
Аватар для Koba

По умолчанию

Mouseenter
mouseleave


Любовь приходит, любовь уходит, а выпить хочется всегда.
Koba вне форума Отправить личное сообщение для Koba
Вверх
Ответить с цитированием
Старый Добавлено: 27.08.2007, 18:05
  (#3)
dron-s
Наблюдающий
Пользователь
 
Аватар для dron-s

По умолчанию

событие OnMouseMove
Цитата:
Сообщение от Koba Посмотреть сообщение
Mouseenter
mouseleave

сорри, но что это за события такие?
dron-s вне форума Отправить личное сообщение для dron-s
Вверх
Ответить с цитированием
Старый Добавлено: 29.08.2007, 11:21
  (#4)
Koba
Заслуженный
Заслуженный пользователь
 
Аватар для Koba

По умолчанию

Ну формы сообытия
on (само обой подрозумевется)


Любовь приходит, любовь уходит, а выпить хочется всегда.
Koba вне форума Отправить личное сообщение для Koba
Вверх
Ответить с цитированием
Старый Добавлено: 29.08.2007, 13:28
  (#5)
dron-s
Наблюдающий
Пользователь
 
Аватар для dron-s

По умолчанию

Цитата:
Сообщение от Koba Посмотреть сообщение
Ну формы сообытия

ты меня конечно извини, но я у себя таких собый у формы не вижу...
да и вообще первый раз про такие события слышу...
dron-s вне форума Отправить личное сообщение для dron-s
Вверх
Ответить с цитированием
Старый Добавлено: 01.09.2007, 13:42
  (#6)
SHKoder
Наблюдающий
Пользователь
 
Аватар для SHKoder

По умолчанию

Цитата:
Сообщение от dron-s Посмотреть сообщение
ты меня конечно извини, но я у себя таких собый у формы не вижу...
да и вообще первый раз про такие события слышу...

ты инспектор лбъектов видиш в делфе?? Object Inspector
если Delphi 7 то вызвать его можно F11
а там две закладки
Properties - свойства
Events - события
только ты выбери свою TForm предварительно, иначе то что у тебя в фокусе, то в инспекторе объектов и отображается
SHKoder вне форума Отправить личное сообщение для SHKoder
Вверх
Ответить с цитированием
Старый Добавлено: 01.09.2007, 19:54
  (#7)
dron-s
Наблюдающий
Пользователь
 
Аватар для dron-s

По умолчанию

SHKoder
умного из себя не строй!!!
я с delphi работаю с 1998 года и все эти события знаю на изусть!!!
у формы всего 6 свойств на Mouse
MouseDown, MouseMove, MouseUp, MouseWheel, MouseWheelDown, MouseWheelUp
dron-s вне форума Отправить личное сообщение для dron-s
Вверх
Ответить с цитированием
Старый Добавлено: 02.09.2007, 18:51
  (#8)
SHKoder
Наблюдающий
Пользователь
 
Аватар для SHKoder

По умолчанию

Цитата:
Сообщение от dron-s Посмотреть сообщение
SHKoder
умного из себя не строй!!!
я с delphi работаю с 1998 года и все эти события знаю на изусть!!!
у формы всего 6 свойств на Mouse
MouseDown, MouseMove, MouseUp, MouseWheel, MouseWheelDown, MouseWheelUp

что же ты за такие годы и не смог мышку приручить

procedure TForm1.FormMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
Label1.Caption := 'Position Cursor X on screen - ' + IntToStr(X);
Label2.Caption := 'Position Cursor Y on screen - ' + IntToStr(Y);
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var
MyMouse: TMouse;
lX{left X}, rX{right X}, tY{top Y}, bY{bottom Y} : Integer;
begin
Label3.Caption := 'Position Cursor X on form - ' + IntToStr(MyMouse.CursorPos.X);
Label4.Caption := 'Position Cursor Y on form - ' + IntToStr(MyMouse.CursorPos.Y);
end;

и не забывай про свойства формы
Self.BorderWidth - не забывай что их два, левый и правый, верхний и нижний
Self.Width;
Self.Top;
Self.Height;

Добавлено через 1 минуту
подключи также фантазию и математическую дедукцию, и все у тебя получится

Последний раз редактировалось SHKoder; 02.09.2007 в 18:51.. Причина: Сообщение объединено с предыдущим
SHKoder вне форума Отправить личное сообщение для SHKoder
Вверх
Ответить с цитированием
Старый Добавлено: 03.09.2007, 07:34
  (#9)
dron-s
Наблюдающий
Пользователь
 
Аватар для dron-s

По умолчанию

SHKoder
это для первого класса что ты написал, и то не тянет...
речь зашла не о том как опеределить положение мышки на форме, а о том, где такие свойства у формы как Mouseenter и mouseleave?
dron-s вне форума Отправить личное сообщение для dron-s
Вверх
Ответить с цитированием
Старый Добавлено: 03.09.2007, 11:19
  (#10)
Koba
Заслуженный
Заслуженный пользователь
 
Аватар для Koba

По умолчанию

Возможно перепутал с компонентом


Любовь приходит, любовь уходит, а выпить хочется всегда.
Koba вне форума Отправить личное сообщение для Koba
Вверх
Ответить с цитированием
Старый Добавлено: 10.10.2007, 03:58
  (#11)
Alexo
Наблюдающий
Пользователь
 
Аватар для Alexo

По умолчанию

Есть эти собития у формы в Турбо точно есть, на крайняк можно самому реализовать.. За 9 лет и не знать такого - это перебор. SHKoder описал тебе как определить положение мышки и используя простую математику можно определить вышла мышка за форму или нет.


Настоящие программисты любят Windows - все ошибки, сделанные по собственной тупости, можно свалить на Microsoft.

Последний раз редактировалось Alexo; 10.10.2007 в 04:02..
Alexo вне форума Отправить личное сообщение для Alexo
Вверх
Ответить с цитированием
Старый Добавлено: 27.11.2007, 23:36
  (#12)
miakl
Наблюдающий
Пользователь
 
Аватар для miakl

По умолчанию

Извените что влезаю в ваш разговор,
но не потскажете как сделать так:
после многочисленных монипуляций с формой,
при нажатии определённой кнопки форма обрела первоночальное состояние?
С уважением к мэтрам.
miakl вне форума Отправить личное сообщение для miakl
Вверх
Ответить с цитированием
Старый Добавлено: 28.11.2007, 11:23
  (#13)
Koba
Заслуженный
Заслуженный пользователь
 
Аватар для Koba

По умолчанию

Что значит
"обрела первоночальное состояние?"


Любовь приходит, любовь уходит, а выпить хочется всегда.
Koba вне форума Отправить личное сообщение для Koba
Вверх
Ответить с цитированием
Старый Добавлено: 29.11.2007, 22:38
  (#14)
miakl
Наблюдающий
Пользователь
 
Аватар для miakl

По умолчанию

В краце опишу программку:
допустим на форме три кнопки(первоночальное состояние)
при нажатии первой меняеться вид курсора
нажатие на вторую происходит сдвиг кнопок
нажатие на третью приводит в первоночальное состояние форму
С уважением к мэтрам
miakl вне форума Отправить личное сообщение для miakl
Вверх
Ответить с цитированием
Старый Добавлено: 11.12.2007, 04:17
  (#15)
4kusNick
REVENGE resident
Пользователь
 
Аватар для 4kusNick

По умолчанию

miakl, ну перед изменением курсора сохраняй в глобальную переменную типа TCursor текущий курсор, а уже затем меняй его на новый:

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin

  idCur := Screen.Cursor;
  Screen.Cursor := crHourGlass;

end;

Затем по второй кнопке сохраняй координаты кнопок в переменные типа Integer например, кстати тут есть некие зависимости от того, знаешь ли ты кол-во кнопок, которые ты сдвигаешь, постоянно ли это кол-во:

если кнопки статичны и их не много (кол-во не изменяется и оно изначально известно, так же, как и имена), то делай так:
Код:
procedure TForm1.Button3Click(Sender: TObject);
begin

  iX1 := Button1.Left;
  iX2 := Button2.Left;
  iX3 := Button3.Left;
  iY1 := Button1.Top;
  iY2 := Button2.Top;
  iY3 := Button3.Top;

end;
Если кнопок много, то разумнее их координаты хранить в массиве или массивах. Я бы сделал свой тип (конструкцию, класс, коллекцию, называйте как хотите ), который бы содержал в себе 2 переменные - X и Y, но опять же, если вы еще меняете ширину и высоту, то их тоже можно добавить; а потом бы работал с массивом элеентов этого своего типа.

В общем уточните задачу, и мы поможем

PS:
совсем забыл написать о том, как все вернуть по клику 3й кнопки, но думаю, сами справитесь, а если нет, то попробуйте сначала получше, а только потом спрашивайте, опыт на ошибках строится порой Все логично и просто, поэкспериментируйте.

Кстати чтобы объявить глобальную переменную пропишите ее до слова implementation.



Последний раз редактировалось 4kusNick; 11.12.2007 в 04:21..
4kusNick вне форума Отправить личное сообщение для 4kusNick
Вверх
Ответить с цитированием
Закрытая тема

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.10
Copyright ©2000 - 2020, vBulletin Solutions, Inc. Перевод: zCarot

Время генерации страницы 1.48255 секунды с 18 запросами