Форум: "Media";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Вниз
Перетаскивание изображения как в ACDsee Найти похожие ветки
← →
BFG9k © (2005-08-03 14:43) [0]Реализовываю сабж. Использую форму с TFastImg как дочерний компонент основной формы.Не получается сделать так, чтобы содержимое окна отображалось при перетаскивании. Также не получается сделать,чтобы изображение не уходило за границы главного окна при перетаскивании (left>=0 и т.д.), контролировать это в OnMouseMove не проходит...
← →
Valera (2005-08-05 00:48) [1]Попробуй реализовать алгоритм с помощью ClipCursor(), чтобы восстановить используй : ClipCursor(nil); C TFastImg не работал, попробуй Graphic32;
← →
Valera (2005-08-05 01:12) [2]Еще можно попробовать:
B: Bool; //Объявите B где-нибудь после implementation
В FormCreate включите следующее
B := True;
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 0, @B, SPIF_SENDCHANGE)
// Не проверял
← →
BFG9k © (2005-08-05 16:21) [3]Я тоже читал эту статью :)
В общем я кое-что сделал, если кому интересно :
1. Отображение содержимого формы при перетаскивании:
//выставляем для ВСЕЙ системы :(
FormCreate...
SystemParametersInfo(SPI_GETDRAGFULLWINDOWS,0,@FDragFull,0);
if not FDragFull then
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,1,nil,SPIF_SENDCHANGE);
...
//потом возвращаем, если не было поставлено
FormDestroy...
if not FDragFull then
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS,0,nil,SPIF_SENDCHANGE);
Не знаю как делать для одного конкретного окна, ну ничего - авось пользователь не просечет :)
2. Чтобы изображение никуда не уходило, обрабатываем сообщение WM_WINDOWPOSCHANGING
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c