Вниз
Скачать: CL | DM;

Перетаскивание изображения как в 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
2-1135424755
Новенькая
2005-12-24 14:45
2006.01.15
Динамический список


14-1134989043
Vlad Oshin
2005-12-19 13:44
2006.01.15
На обувной полке. Рассказик.


2-1135592191
_Lucifer_
2005-12-26 13:16
2006.01.15
Выполнение обработке в одной форме, а показ прогресса в другой.


2-1135628629
Danja
2005-12-26 23:23
2006.01.15
Pen.Color


2-1135611497
kotbazilio
2005-12-26 18:38
2006.01.15
Удалить запись из таблицы




   Наверх