TTrayIcon: показывает иконку только в режиме разработки

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

TTrayIcon: показывает иконку только в режиме разработки

Сообщение emerald » 08.08.2008 19:07:56

Беру TTrayIcon помещаю на форму только что созданного проекта, в инспекторе объектов выбираем файл изображения.
Нажимаем "Запуск" получаем вот такую ошибку!
Error reading TTrayIcon1.Icon.Data: Cannot change size of icon image

Что самое интерестное что в режиме разработки если выставить Visible в True то иконка отображаеться в панели, при чем я брал фалы формата png и xpm разных размеров. Проверял изображения и высота которых превышает высоту панели так и значительно меньше высоты панели.
Что интерстно что в режиме разработки изображения не массштабируються до высоты панели, а обрезаються, это если обращать внимание на сообщение об ошибке весьма интерестно.
Подскажите пожалуйсьта как решить эту проблему.
P.S.: XUBUNTU 8.04 (i386): Lazarus 0.9.25 бета SVN:15975 gtk2, FPC 2.2.0
emerald
незнакомец
 
Сообщения: 8
Зарегистрирован: 28.07.2008 01:14:50

Re: TTrayIcon: показывает иконку только в режиме разработки

Сообщение Brainenjii » 08.08.2008 19:51:30

формат ico, размер 22*22 - работает ^_^
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: TTrayIcon: показывает иконку только в режиме разработки

Сообщение emerald » 09.08.2008 11:15:04

Brainenjii писал(а):формат ico, размер 22*22 - работает ^_^

Ага работает и не только 22*22, ico работают нормально :(
Пока у меня были перебои с инетом. Я тут проверил пример из лазаруса который на эту тему. Вся проблема в TIcon это он выдает такую ошибку!
В примере есть такой код
Код: Выделить всё
procedure TfrmTrayTest.btnPaintTestClick(Sender: TObject);
var
  SecondImage: TIcon;
begin
  SecondImage := TIcon.Create;

  try
    SecondImage.Height := 22;
    SecondImage.Width := 22;
    SecondImage.Canvas.Draw(0, 0, MyImage);
    Canvas.Draw(0, 0, SecondImage);
  finally
    SecondImage.Free;
  end;
end;

И на нем происходит таже ошибка, точнее на SecondImage.Canvas.Draw(0, 0, MyImage); , при чем MyImage тоже TIcon и в OnFormCreate есть конструктор на него и загружаеться файл .ico .
Можно конечно предварительно проверить размер изображения которое пытаемся прорисовать, но факт тот что это баг :( какая жаласть :(
emerald
незнакомец
 
Сообщения: 8
Зарегистрирован: 28.07.2008 01:14:50


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34

Рейтинг@Mail.ru