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

как за свой компонент перетащить форму   Найти похожие ветки 

← →
wed   (2002-03-11 18:49) [0]

Я убираю System Menu и нужно, нажав мышью на мой Image перетаскивать форму


← →
Юрий Зотов ©   (2002-03-11 19:27) [1]

Попробуйте такую схему:

type
TForm1 = class(TForm)
Image1: TImage;
...
private
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
end;


procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
begin
inherited;
with Message do
if ControlAtPos(ScreenToClient(Point(XPos, YPos)), False, False) = Image1 then Result := HTCAPTION
end;


← →
I/O ©   (2002-03-11 22:00) [2]

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);

end;


← →
copyr25 ©   (2002-03-11 23:02) [3]

Ну, частный случай, конечно... Перетаскивает, когда мышка нажата на Image.

procedure TForm1.Image1MouseDown(Sender: TObject; Button:
TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
end;


← →
lel ©   (2002-03-12 17:46) [4]

Мой вариантик 8))
ReleaseCapture();
Self.Perform(WM_NCLBUTTONDOWN, HTCAPTION, 0);
Кстате это работает для многих компонент...Не знаю как насчет всех, но повесь один этот обработчик на форму, кнопку, панель.
8))
Желаю удачи в темных делах.
С уважением Алексей.



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

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



Память: 0.45 MB
Время: 0.012 c
1-39722
SB.John
2002-04-27 11:04
2002.05.13
Как присвоить событию свою процедуру


1-39716
kull
2002-04-26 10:54
2002.05.13
Форматирование Double


3-39667
Desdechado
2002-04-16 17:11
2002.05.13
UDF в Interbase


4-39902
Tosov
2002-03-11 13:21
2002.05.13
Работа с Ini файлами


1-39711
HDD
2002-04-25 07:05
2002.05.13
Помогите пожалуйста!




   Наверх