Показать сообщение отдельно
  #10  
Старый 15.04.2014, 09:19
Demlan Demlan вне форума
Прохожий
 
Регистрация: 09.09.2011
Сообщения: 27
Репутация: 10
По умолчанию

Безымянный.png вот вид программы.
Код:
if (x>918) and (X<990) then
  begin
  if (y>2456) and (y<2512) then
    begin
    If LoadImage<>'Штаб тыла' then
       begin
       Image5.Picture.LoadFromFile('..\Foto\Тыл.jpg');
       LoadImage:='Штаб тыла';
       end else
         begin
         panel2.Visible:=FALSE;
         Image5.Picture.Create;
         Image5.Picture:= nil;;
         LoadImage:='';
         end;
      end;
    end;
написал это-вроде следит, но глючно очень.
понял саму концепцию-надо создать БД с координатами зданий и по перемещению курсора сверять с БД и при совпадении выводить картинку. но как это сделать ума не приложу....

код на событии Image1MouseMove

Код:
function GetImageName(const X, Y: Integer): string;
begin
  if (X > 918) and (X < 990) and (Y > 2456) and (Y < 2512) then // это для демонстрации, в реальном приложении ищем по базе
    Result:= '..\Foto\Тыл.jpg'
  else
    Result:= '';
end;
 
procedure Form1.Image1MouseMove(...);
var
  NewImageName: string;
begin
  NewImageName:= GetImageName(X, Y);
  if NewImageName = '' then
    Image5.Visible:= False
  else
    if NewImageName <> LoadImage then
      begin
        Image5.Visible:= True;
        Image5.Picture.LoadFromFile(NewImageName);
        LoadImage:= NewImageName;
      end;
end;

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