Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Иконка в statusbar, Как поместить и обработать по ней клик ? 
V
    Опции темы
ZBugz
  Дата 22.2.2010, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Всем привет. А как поместить иконку в statusbar и обработать по ней клик ?
Ну допустим внадо ее поместить в statusbar.Panels[1]  и обрабатывать ее. Т.е. когда что то там, то неактивна иконка, если все что надо, иконка активна и по ней можно кликать и обрабатывать. Все как в Internet Explorer, у него тоже самое внизу.
PM MAIL   Вверх
Rrader
  Дата 22.2.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Простейший способ - создать или поместить на строку TImage
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  StatusBar1.Height := 23;
  with TImage.Create(Self) do
  begin
    Parent := StatusBar1;
    AutoSize := True;
    Left := StatusBar1.Panels[0].Width + 2;
    Top := Top + 4;
    Picture.Icon.LoadFromFile('C:\help.ico');
    OnClick := ImageClick; // Обработчик
  end;
end;



--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
ZBugz
Дата 22.2.2010, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Rrader @ 22.2.2010,  15:54)
Простейший способ - создать или поместить на строку TImage
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  StatusBar1.Height := 23;
  with TImage.Create(Self) do
  begin
    Parent := StatusBar1;
    AutoSize := True;
    Left := StatusBar1.Panels[0].Width + 2;
    Top := Top + 4;
    Picture.Icon.LoadFromFile('C:\help.ico');
    OnClick := ImageClick; // Обработчик
  end;
end;

Спасибо, работает. Но мне надо что бы statusbar был стандартного размера. Так же почему то иконка 16х16 вылазиет за границы, если статусбар стандартный, и вылазиет не хило.
И не очень понял про это  smile 
Код

OnClick := ImageClick; // Обработчик

Че там писать после ImageClick smile 
PM MAIL   Вверх
Akella
Дата 22.2.2010, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Так уменьши размер изображения каким-нибудь редактором.

Добавлено через 3 минуты и 38 секунд
Цитата(ZBugz @  22.2.2010,  21:44 Найти цитируемый пост)
Че там писать после ImageClick 

Почему после? 
ImageClick - это событие обработки щелчка мышки.
Код

type
  TForm7 = class(TForm)
......


  private
    procedure ImageClick(Sender: TObject);

  public
    { Public declarations }

  end;

var
  Form7: TForm7;

implementation

{$R *.dfm}

procedure TForm7.ImageClick(Sender: TObject);
begin
 ShowMessage('тру-ля-ля');
end;

PM MAIL   Вверх
Rrader
  Дата 23.2.2010, 05:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Цитата(ZBugz @  23.2.2010,  03:44 Найти цитируемый пост)
Но мне надо что бы statusbar был стандартного размера

Цитата(ZBugz @  22.2.2010,  18:52 Найти цитируемый пост)
Все как в Internet Explorer, у него тоже самое внизу. 

У IE высота строки = 23 px


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
ZBugz
Дата 24.2.2010, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Rrader @ 23.2.2010,  05:14)
У IE высота строки = 23 px

А, чето даже не обращал внимания smile

Добавлено через 2 минуты и 29 секунд
Цитата

Так уменьши размер изображения каким-нибудь редактором.

Дык все уменьшенно. У меня наборы иконок, 16х16 вылазила...


Цитата

Код

procedure TForm7.ImageClick(Sender: TObject);
begin
 ShowMessage('тру-ля-ля');
end;


А, понял smile 



Всем спасибо smile +1
PM MAIL   Вверх
ZBugz
Дата 24.2.2010, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



А еще вопрос, а как брать иконку не из файла, а из imagelist который на форме ?
PM MAIL   Вверх
ZBugz
Дата 24.2.2010, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Все, нашел smile
Код

 with TImage.Create(Self) do
  begin
    Parent := SB;
    AutoSize := True;
    Left := SB.Panels[0].Width + 2;
    Top := Top + 4;
    InfoImg.GetIcon(10, Picture.Icon);
    OnClick := ImageClick;
  end;

Причем тут сразу же решается проблема влазиния иконки  в рамки smile, о которой я выше написал.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.