Главная страница
    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.46 MB
Время: 0.006 c
1-39369
Lion
2003-02-27 23:21
2003.03.13
QReport перенос строки


7-39619
Serge Grivachenko
2003-01-13 10:38
2003.03.13
Низкоуровневый доступ к гибкому диску (форматирование, итд)


3-39192
nicolaus
2003-02-21 12:19
2003.03.13
FIBPlusDataSet. После CancelUpdates и Refresh не убираются добавл


1-39400
Dim!S
2003-03-03 11:30
2003.03.13
Запрет Enter в Memo


3-39174
Kalishenko Stas
2003-02-20 16:36
2003.03.13
DOS-кие файлы и БД





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский