Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 02.05.2013, 12:33   #1
bang
Пользователь
 
Регистрация: 02.05.2013
Сообщений: 14
По умолчанию Изменение рисунка кнопки BitBtn

Нужно следующее: при наведении курсора на кнопку BitBtn рисунок назначеный в свойстве Glyph изменялся на другой, и если кнопку не нажали, и мышку увели с кнопки, то рисунок обратно изменялся на 1й
как это сделать... ничего не могу придумать(
bang вне форума Ответить с цитированием
Старый 02.05.2013, 13:44   #2
Yurk@
Участник клубаДжуниор
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

получать координаты курсора и сравнивать их с координатами кнопки ... если совпадут - менять рисунок, обратное действие - аналогично
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 02.05.2013, 13:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Попробуй описать события входа мышки и выхода так:
Код:
procedure TForm1.BitBtn1MouseEnter(Sender: TObject);
begin
 ImageList1.GetBitmap(1,BitBtn1.Glyph); 

end;

procedure TForm1.BitBtn1MouseLeave(Sender: TObject);
begin
 ImageList1.GetBitmap(0,BitBtn1.Glyph); 
end;
Где ImageList1 содержит два разных изображения.

P.S. Чуть поправился.
I'm learning to live...

Последний раз редактировалось Stilet; 02.05.2013 в 14:43.
Stilet вне форума Ответить с цитированием
Старый 02.05.2013, 14:51   #4
bang
Пользователь
 
Регистрация: 02.05.2013
Сообщений: 14
По умолчанию

Ребят если не затруднит! Можно по точнее всё рассписать для чайника так сказать, я не так давно начал програмировать по этому сногого еще не понимаю...
bang вне форума Ответить с цитированием
Старый 02.05.2013, 15:07   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Кидаешь на форму ImageList. В него загружаеш два разных изображения, настраиваешь играясь его свойствами.
Далее описываешь события для кнопки: OnMouseEnter и OnMouseLeave так как я показываю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2013, 15:18   #6
bang
Пользователь
 
Регистрация: 02.05.2013
Сообщений: 14
По умолчанию

А разве в сасой BitBtn нельзя в событии прописать на наведение мыши!?
bang вне форума Ответить с цитированием
Старый 02.05.2013, 15:54   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
А разве в сасой BitBtn нельзя в событии прописать на наведение мыши!?
Так я тебе именно это и описал: Код для событий наведения и выведения мышки для BitBTN.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.05.2013, 16:38   #8
bang
Пользователь
 
Регистрация: 02.05.2013
Сообщений: 14
По умолчанию

Окей попробую, завтра отпишусь что получилось!
bang вне форума Ответить с цитированием
Старый 02.05.2013, 20:56   #9
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Загрузи в кнопку глиф соотношения 4х1 (100х25пикселей к примеру), При наведении кнопка будет выделяться по стандарту рамкой, а при нажатии менять глиф на 3й (rect(50,0,75,25)), если кнопку отключишь, то сменится на 2й, правда не знаю в каком случае тут 4й глиф применяется. А если поставить альфаконтролы, то можно будет грузить в глифы прозрачные картинки PNG.
alextrof94 вне форума Ответить с цитированием
Старый 07.05.2013, 13:58   #10
bang
Пользователь
 
Регистрация: 02.05.2013
Сообщений: 14
По умолчанию

Вот такой код, но не работает если ставить на 1 форме на 2 кнопки... Как зделать для 2х кнопок?
код:
unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons;

type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn1MouseLeave(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1MouseLeave(Sender: TObject);
begin
bitbtn1.Glyph.LoadFromFile('C:\User s\Los\Pictures\Иконки\бмп\BMP\Disab led\48x48\Bulb Idea.bmp');
end;

procedure TForm1.BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
bitbtn1.Glyph.LoadFromFile('C:\User s\Los\Pictures\Иконки\бмп\BMP\Disab led\48x48\Approve.bmp');
end;

end.
bang вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение рисунка согласно данных в ячейке. Vikup Microsoft Office Excel 0 25.04.2012 00:10
Изменение кнопки Painkiller_13 Общие вопросы Delphi 4 11.03.2012 16:49
Изменение рисунка при наведении курсора мыши ru3000 Microsoft Office Excel 4 15.04.2011 01:13
BitBtn форма кнопки/прозрачность TilerDerton Общие вопросы Delphi 6 30.05.2009 10:56
Изменение пропорций рисунка, макрос laneon Microsoft Office Excel 4 12.02.2009 05:49