Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 06:32 17.05.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Как се мести TMemo чрез drag&drop  
Автор vasildimov (непознат )
Публикувано11.05.05 15:03



Здравейте !!!
Имам следният проблем:
имам една форма и върху нея имам обект от тип TMemo искам чрез мишката да мога да си го местя по време на програмата.
Благодаря !!!



Тема Re: Как се мести TMemo чрез drag&dropнови [re: vasildimov]  
Автор PecheniaМодератор (нема лабаво ;-)
Публикувано11.05.05 16:11



Ето едно нарочно непълно решение. Мързи ме сега да смятам и отместванията, но ако ти е много проблемно и никой друг не ще да помогне, обещавам да се напъна...


const F: boolean=true;

procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if F then exit;
Memo1.Left:=Memo1.Left+X;
Memo1.Top:=Memo1.Top+Y;
end;

procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
F:=false;
end;

procedure TForm1.Memo1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
F:=true;
end;

Редактирано от Pechenia на 11.05.05 16:14.



Тема Re: Как се мести TMemo чрез drag&dropнови [re: vasildimov]  
Авторeмил (Нерегистриран)
Публикувано12.05.05 08:35




procedure TForm1.Memo1MouseDown(Sender: TObject; Button: MouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
memo1.perform(WM_SYSCOMMAND,$F012,0);
end;



А ако искаш това да става не винаги, а например само
при натиснат бутон Shift то:

procedure TForm1.Memo1MouseDown(Sender: TObject; Button: MouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if not (ssShift in Shift) then inherited
else
begin
ReleaseCapture;
memo1.perform(WM_SYSCOMMAND,$F012,0);
end;
end;


ПП:това работи само за наследниците на TWinControl.
Тоест за TLabel например няма да стане :)



Тема Re: Как се мести TMemo чрез drag&dropнови [re: eмил]  
Автор vasildimov (непознат )
Публикувано12.05.05 10:07



idealno stana :)
mersi mnogo i na dvamata



Тема Re: Как се мести TMemo чрез drag&dropнови [re: eмил]  
Автор PecheniaМодератор (нема лабаво ;-)
Публикувано12.05.05 10:21



Това беше трепач

чети и дишай по-леко


Тема Нещо по-добронови [re: vasildimov]  
Автор Wacker_1987 (луд)
Публикувано24.06.05 01:11



procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TMemo then
begin
TMemo(Source).Left := X;
TMemo(Source).Top := Y;
end;
end;

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
begin
Accept := (Source is TMemo);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Memo1.BeginDrag(True);
end;

Успех!!!




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.