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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2010, 19:55   #1
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию OnClick: img1=>img2?

Пытаюсь создать кнопку(в виде картинки) которая при на нее нажатии бы превращалась в другую кнопку(картинку).
Алгоритм: Кидаю Image на форму, ставлю ей начальную картинку, создаю imglist, кидаю туда вторую картинку.

Незнаю правильно ли я делаю, но вот:
Код:
procedure TForm1.Image1Click(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Image1.Canvas.Rectangle(0, 0, 163, 21);
  ImageList1.Draw(Image1.Canvas, 0, 0, 0);
end;
Выдает ошибку... Знаю..нужно первую картинку ставить в imglist и для него событие писать, но нужно так чтоб кнопка существовала независимо от того навел мышку на форму или нет и тд... А я других событий не знаю которые бы мне подошли...
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 02.08.2010, 22:08   #2
W.i.d.g.e.t.1
Пользователь
 
Аватар для W.i.d.g.e.t.1
 
Регистрация: 09.07.2010
Сообщений: 65
По умолчанию

а зачем координаты, просто на ИмаджКлик ставишь смену картинки...оО или я что то не понимаю???
а в конце окажется, что все проблемы были из-за дивана, что стоял не по фэн-шую...
W.i.d.g.e.t.1 вне форума Ответить с цитированием
Старый 02.08.2010, 22:23   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Ну вот как вариант, жмете и меняется картинка:
Код:
...

var
  buf : TBitmap;
  i : Integer;

..

procedure TForm1.Image1Click(Sender: TObject);
begin
  case i of
    0 : begin
          buf.LoadFromFile('C:\' + IntToStr(i) + '.bmp');
          Image1.Canvas.Draw(0, 0, buf);
          inc(i);
        end;
    1 : begin
          buf.LoadFromFile('C:\' + IntToStr(i) + '.bmp');
          Image1.Canvas.Draw(0, 0, buf);
          inc(i);
        end;
    2 : begin
          buf.LoadFromFile('C:\' + IntToStr(i) + '.bmp');
          Image1.Canvas.Draw(0, 0, buf);
          inc(i);
        end;
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  i := 0;
  buf := TBitmap.Create;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  buf.Free;
end;

...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает onclick zeharon JavaScript, Ajax 5 15.06.2010 09:11
Имитация onclick Qami JavaScript, Ajax 4 11.03.2010 23:52
getElement onClick Paguo-86PK JavaScript, Ajax 10 18.09.2009 23:11
Не работает onClick Ruska882009 Помощь студентам 0 15.04.2009 13:36
Помогите с onClick BeeX Общие вопросы C/C++ 1 22.11.2007 02:49