2014-03-05 5 views
0
내가 약 100 작은 PNG 이미지를 포함하는 resoruce 파일을 내장

현재 TImage의 구성 요소에로드 된 자원의 이름을 가져옵니다 - 델파이 XE3

내가 주위를 찾고 있었어요하지만 특정 아무것도 발견하지 않았습니다

..., 그리고 앱 전체에 무작위로로드하십시오. 그런 다음 모든 TImage 구성 요소에 OnClick 이벤트가 있는데, 여기서 보낸 사람의 이름 (Image1, Image2 등)을 얻지 만 발신자에로드 된 식별자를 어떻게 얻을 수 있는지 알지 못합니다 (TImage) ...

이것도 가능합니까? 아니면 모든 그림에 어떤 리소스가 사용되는지에 대한 정보가 포함 된 문자열 목록이나 데이터베이스를 저장해야합니까? GetNamePath 아무것도 검색하지

...

감사

답변

4

TImage 구성 요소 (또는 사진 및 비트 맵 속성)로드 된 자원에 대한 참조를 저장하지 않습니다. 따라서 수동으로해야합니다. 사전 (TDictionary<TImage, Integer>)을 리소스 ID 및 TImage에 대한 참조와 함께 사용해 보거나로드 된 리소스 ID를 저장하기위한 새 속성을 추가하는 TImage의 하위 구성 요소를 만들 수 있습니다.

+0

이미지 태그 대신 사용한 이미지 ID가 대신 추가되었습니다. 현재는 다른 용도로 필요하지 않습니다. 이 작업을 직접 수행 할 수있는 방법이 있는지 알고 싶었습니다 ... 감사합니다. –

2

먼저 이미지를 TImageList에로드 한 다음 해당 목록의 개별 이미지를 필요에 따라 각 TImage으로 검색 한 다음 TImage.Tag 속성을 사용하여 검색 한 인덱스를 추적 할 수 있습니다. TPNGImageList을 사용하는 경우 원래 리소스 식별자 이름과 마찬가지로 목록의 각 이미지와 함께 추가 데이터를 저장할 수 있습니다.

+0

이미지 태그에 이미지 ID를 사용하는 대신, 내가 제안한 것처럼 이미지 태그에 이미지 ID를 추가했습니다. 현재로서는 다른 용도로 필요하지 않습니다. 이 작업을 직접 수행 할 수있는 방법이 있는지 알고 싶었습니다 ... 감사합니다. –