ПредишенСледващото

Сега пиша OnMouseDown манипулатор за нашия имидж:

Тази част от кода се проверява кой бутон да натиснете върху снимката. Ако не, тогава запомня позицията, и ако има такава, тя не може да бъде преместен. Сега пиша OnMouseMove манипулатор за нашия имидж:

Накрая OnMouseUp манипулатор за нашите снимки ще бъдат:

всичко тук е много проста. Когато освободите бутона, преминаването на променливата е настроено на фалшиви, така че до следващия Кликнете върху снимката за да не може да бъде преместен. Този метод е много прост, както за да се разбере и да се приложи. Но същия алгоритъм изместване може да се прилага малко по-красива. Някои компоненти, включително на изображението, има такова готино процедура SetBounds (Left, Top, ширина, височина), които могат да се променят едновременно всичките четири параметри. Така OnMouseMove събитие може да се променя, както следва:

Но има и друг много интересен начин: на екрана може да бъде преместен не самата картина, а само неговата рамка, когато потребителят избира място за снимка и отпуснете бутона - за да го преместите. За това ние трябва друга глобална променлива: REC: TRect, която ще се съхранява на параметрите на изображението. Сега леко се промени, занимаващо се със събития за изображението. По този начин всичко като цяло ще изглежда така:

От DrawFocusRect обръща метод кутия XOR, по време на второто повикване на тази функция със същите параметри, рамката е изтрита. Това е един красив начин да добавите много голям интерес в програмата си. Така че използвате.

Вижте също:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!