Проблемы с PopupMenu

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

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

Ответить
novo
новенький
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Проблемы с PopupMenu

Сообщение novo »

Доброго дня, утра, вечера, ночи)

Имеется Image1 внутри ScrollBox

Поверх image1 создается TImage

Код: Выделить всё

var
metka:Timage;
begin
 metka:=timage.Create(Image1);
with metka do begin
 Parent:=ScrollBox1;
 Left:=pos.x-10;
 Top:=pos.y-10;
 Cursor:=crHelp;
 Proportional:=true;
 Width:=20;
 Height:=20; 
 PopupMenu:=PopupMenu2;
 end;
imagelist1.GetBitmap(0,metka.Picture.Bitmap);


В принципе все работает, однако при скроллинге ScrollBox перестает вызываться PopupMenu2, по возвращению в исходную позицию меню вновь без проблем вызывается

Пробовал решить таким мокаром
вместо

Код: Выделить всё

PopupMenu:=PopupMenu2;

Воткнул

Код: Выделить всё

metka.OnMouseDown:=@IMD; 
....
....
procedure TForm1.IMD(Sender: TObject; Button: TMouseButton; Shift: TShiftState;
  X, Y: Integer);
begin
  if (Button = mbRight) then begin
   PopupMenu2.Popup(mouse.CursorPos.x,mouse.CursorPos.y);
    end;
end;

Опять таки, меню вызывается, но конструкция:

Код: Выделить всё

popupmenu2.PopupComponent;
Реакции не дает, как в случае стандартной привязки.
В чем может быть проблема?
И как с этим бороться?
Аватара пользователя
Максим
энтузиаст
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Сообщение Максим »

Версия Lazarus, ОС?
novo
новенький
Сообщения: 43
Зарегистрирован: 31.07.2011 21:35:10

Сообщение novo »

Максим писал(а):Версия Lazarus, ОС?


Lazarus 0.9.30 r29749
FPC 2.4.2 i386-win32-win32/win64

WindowsXP SP3
Аватара пользователя
leo_bsv
постоялец
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола
Контактная информация:

Сообщение leo_bsv »

у меня одно предложение - обновиться :?
Аватара пользователя
Максим
энтузиаст
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Сообщение Максим »

novo
Проверьте в версии 0.9.31. Если воспроизводится - в багтрекер с подробным описанием и маленьким компилируемым тестовым проектом.
Ответить