Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2013, 00:16   #1
yaroslav2468
 
Регистрация: 30.07.2013
Сообщений: 8
По умолчанию OnMouseMove

Хочу сделать картинку, при наведении на какую будет всплывать другая картинка.как бы hover в css.только как именно? какую команду писать? имееться 2 image..
yaroslav2468 вне форума Ответить с цитированием
Старый 30.07.2013, 00:41   #2
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Если хочешь реализовать по аналогии с CSS, то вопрос, как у тебя будут расположены эти 2 TImage ?

Если один на другом, то прописывай события OnMouseEnter и OnMouseLeave и видимостью 2 TImage

Код:
Image1.Visible:= true
Image2.Visible:= false
Или 2 TIMage заменить на один и при наведение на него курсором грузить одну картинку.

Код:
Image1.Picture.LoadFromFile('путь к картинке');
-Jack- вне форума Ответить с цитированием
Старый 30.07.2013, 01:03   #3
yaroslav2468
 
Регистрация: 30.07.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от -Jack- Посмотреть сообщение
Если хочешь реализовать по аналогии с CSS, то вопрос, как у тебя будут расположены эти 2 TImage ?

Если один на другом, то прописывай события OnMouseEnter и OnMouseLeave и видимостью 2 TImage

Код:
Image1.Visible:= true
Image2.Visible:= false
Или 2 TIMage заменить на один и при наведение на него курсором грузить одну картинку.

Код:
Image1.Picture.LoadFromFile('путь к картинке');
Да именно одно на другом) они будут как кнопки)

а куда именно прописывать..в 2 или в 1?

Цитата:
OnMouseEnter и OnMouseLeave
нету таких событий в Image

Последний раз редактировалось yaroslav2468; 30.07.2013 в 01:16.
yaroslav2468 вне форума Ответить с цитированием
Старый 30.07.2013, 02:52   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от yaroslav2468 Посмотреть сообщение
нету таких событий в Image
Для батонокидателей их действительно нету.
Для "продвинутых юзеров первого уровня" (копирайт не мой) эти события есть у предка и их легко задействовать.
Вот пример:
Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, frxpngimage, ExtCtrls;

type
  TForm3 = class(TForm)
    Image1: TImage;
    procedure MyImageMouseEnter(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

type
  TMyImage = class(TImage);

procedure TForm3.FormCreate(Sender: TObject);
begin
  TMyImage(Image1).OnMouseEnter:=MyImageMouseEnter;
end;

procedure TForm3.MyImageMouseEnter(Sender: TObject);
begin
  ShowMessage('MyImageMouseEnter');
end;

end.
P.S.
Уже второй раз (за небольшой срок) встречаю на сём форуме фразу "У имярек нет таких событий/методов/свойств" и т.п. И все в ответ молчат. (((
Неужели на данном ресурсе нет в FAQ'е ответа на вопрос "Как можно получить доступ к protected свойству класса?

P.P.S. И не надо мне "плюсовать" за этот ответ. Это решение я не придумал сам. Я его прочитал на том диске, с которого когда-то поставил себе пиратскую версию Д1

Последний раз редактировалось northener; 30.07.2013 в 03:35.
northener вне форума Ответить с цитированием
Старый 30.07.2013, 16:45   #5
yaroslav2468
 
Регистрация: 30.07.2013
Сообщений: 8
По умолчанию

ну ничего не понимаю...мой код
Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, acPNG, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Image1: TImage;
Image2: TImage;
procedure Image2MouseEnter(Sender: TObject);
procedure Image2MouseLeave(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Image2MouseEnter(Sender: TObject);
begin
Image1.Visible:= true
Image2.Visible:= false
end;

procedure TForm1.Image2MouseLeave(Sender: TObject);
begin
Image1.Visible:= true
Image2.Visible:= false
end;

end.
yaroslav2468 вне форума Ответить с цитированием
Старый 30.07.2013, 17:51   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а ты точки прерывания ставил в методы? Они вообще срабатывают?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2013, 19:19   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от yaroslav2468 Посмотреть сообщение
ну ничего не понимаю...мой код
Неправильный. Ибо при заходе мыши на Image2 срабатывает событие Image2MouseEnter, в котором выполняется строка Image2.Visible:= false. А при этом срабатывает событие Image2MouseLeave.

Т.е. событие MouseEnter нужно прописать той картинке, которая изначально видна. А событие MouseLeave нужно прописать другой картинке.
northener вне форума Ответить с цитированием
Старый 31.07.2013, 01:59   #8
yaroslav2468
 
Регистрация: 30.07.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Неправильный. Ибо при заходе мыши на Image2 срабатывает событие Image2MouseEnter, в котором выполняется строка Image2.Visible:= false. А при этом срабатывает событие Image2MouseLeave.

Т.е. событие MouseEnter нужно прописать той картинке, которая изначально видна. А событие MouseLeave нужно прописать другой картинке.
да он вобще не компилируется
может кто то подкинет код а я его под себя подредактирую..) ну пожалуйста)
yaroslav2468 вне форума Ответить с цитированием
Старый 31.07.2013, 02:29   #9
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от yaroslav2468 Посмотреть сообщение
да он вобще не компилируется
Ёпстыть!
А я то думал что "точки с запятой" в конце каждой строчки кода (кроме последней разумеется) пропущены только из-за лени или из-за желания сохранить подушечки пальцев.
Других причин ошибок компиляции на вскидку не вижу.
northener вне форума Ответить с цитированием
Старый 31.07.2013, 02:36   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Да. Ну и.
Какой версией Дельфи располагаете?
Если ниже Д2005, то вам стоит воспользоваться моим кодом "Вчера, 02:52 ".
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
касательно OnMouseMove и image RedFire Мультимедиа в Delphi 3 06.05.2011 15:20
TWebBrowser + OnMouseMove peter888 Работа с сетью в Delphi 0 13.09.2010 10:51
Delphi | OnMouseMove SQeeZe Общие вопросы Delphi 2 11.07.2010 16:22
OnMouseMove beygul Помощь студентам 2 07.01.2010 12:20
OnMouseMove frai БД в Delphi 3 14.10.2007 19:23