Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

Почему не Drag n Drop пится   Найти похожие ветки 

 
Andy BitOff   (2003-02-28 22:33) [0]

Почему компонент TImage, находящийся прямо на форме, не хочет так таскаться:
ReleaseCapture;
TControl(Sender).Parent.Perform(WM_SysCommand, $F012, 0);
Хотя, если его поместить на TPanel он прекрасно таскается. Да, кстати, понятно, что Parent должно быть, когда он на панели и не должно быть, когда он на форме. Ошибка не в этом. Может кто подскажет, как мне потаскать только Image, который находится прямо на форме??????


 
STATIC   (2003-02-28 22:59) [1]

Ytgjyznysq djghjc/ {jnz? Image is not a wincontrol and does"nt have a handle, therefore, a perform, send/postmessage is applicable only for it"s parent? i think/


 
STATIC   (2003-02-28 23:08) [2]

А TControl(Sender).Parent.Perform(WM_SysCommand, $F012, 0) - это, получается, прямое обращение к родителю?
Я пьян сичас, как и Энди, кода задавал вопрос.


 
Andy BitOff   (2003-02-28 23:10) [3]

Ясно. А что можно посоветовать в моем случае??? Задача в следующем, если Image на Panel"и и у обоих Transparent:=True; то чере них видно только то, что на форме, но не видно то, что на другой панели.


 
STATIC   (2003-02-28 23:33) [4]

Не понял, Panel.Transparent - это в каких дельфях?
А так - если все-таки Image на панели, тогда проще, в самом деле, так:
Image.OnMouseDown...
ReleaseCapture;
TControl(Sender).Parent.Perform(WM_SysCommand, $F012, 0)
Пораскинув мозгами, можно остаться и без них. Но, по-моему, в етом таком случае (если хочется двигать рискунок, а не панель, придется делать все ручками). Хотя если с утра подумать...


 
STATIC   (2003-02-28 23:36) [5]


> Image is not a wincontrol...
>... a perform

Бр...


 
Andy BitOff   (2003-02-28 23:40) [6]

Panel.Transparent из набора Raize Components 3.0. А ручками в каком направлении?


 
STATIC   (2003-03-01 07:17) [7]



procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var Rect: PRect;
begin
Rect := AllocMem(SizeOf(TRect));
GetCursorPos(Rect^.TopLeft);
Rect^.TopLeft := TControl(Sender).ScreenToClient(Rect^.TopLeft);
Rect^.BottomRight := Rect^.TopLeft;
TControl(Sender).Tag := Integer(Rect);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if PRect(TControl(Sender).Tag) <> nil then
begin
FreeMem(PRect(TControl(Sender).Tag));
TControl(Sender).Tag := 0
end;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var Rect: TRect;
begin
if PRect(TControl(Sender).Tag) <> nil then
begin
Rect := PRect(TControl(Sender).Tag)^;
GetCursorPos(Rect.TopLeft);
Rect.TopLeft := TControl(Sender).ScreenToClient(Rect.TopLeft);
TControl(Sender).Left := TControl(Sender).Left + (Rect.Left - Rect.Right);
TControl(Sender).Top := TControl(Sender).Top + (Rect.Top - Rect.Bottom);
Rect.BottomRight := Rect.TopLeft;
end;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.698 c
3-39229
{{{KOTOS}}}
2003-02-21 20:14
2003.03.13
МАСТЕРА Какая БД сохранятет базу данных в одном файле?


3-39182
mfender
2003-02-20 16:16
2003.03.13
MS Access + Delphi


3-39151
Glory
2003-02-20 14:51
2003.03.13
Настроить BDE для работы с файлами FoxPro


6-39438
NightCon
2003-01-21 12:25
2003.03.13
Обмен данными между формами IntraWeb


14-39490
Anatoly Podgoretsky
2003-02-23 16:24
2003.03.13
Именинник 23 февраля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский