ITYourself! - компьютерная документация, книги, мануалы, it-тематика

13. Drag & Drop

E-mail Печать PDF
Рейтинг пользователей: / 0
ХудшийЛучший 
Индекс материала
13. Drag & Drop
??????? Drag&Drop
OLE-Drag&Drop
Все страницы

?????????? Drag & Drop

 

??????? ?????????? Drag&Drop

?????? ???, ??????? ? Windows, ???????????? ???????????? ? ??????????? Drag&Drop (?????????? ? ????????). ????????, ???????????? ????? ? ?????, ??????, ??????, ???????????. ?? ???? ?????????? ????????? ?????? ? Windows.

??????? Drag&Drop ??????????? ??? ???????? ???????? ?????? ? ?????? ?????????? ? ??????, ??? ? ???????? ?????? ??????????. ??? ??????????? ? ??????????? ?????? ? ?????????? Windows ??? ??? ???????? ?????? ?????????? ????? ??????????? ????? ?? ???? ??????????.

 

??????? Drag&Drop

? ???????? Drag&Drop ????????? ??? ???????: ??????-???????? ? ??????-????????. ? ????????? ?????????? ?????? ???????? ???????? ?????? ????. ????? ???????? ?????? ? ??????? ?????????, ??????? ????????? ?????? ????.

? ??????????? ? ???????? ????????? ?????? ????????? ?????, ?? ????? ???????????? ????? ??????? ??????????, ??????? ????? ????????? ? ???????? ??????????. ????? ??????????? ? ????? ?????????? ??????????????, ?????, ??-??????, ????????? ??????? ????????????, ??-??????, ????????? ????????.

?????? ???????? ??????????????, ??? ???????, ?????????????? ? ????????? ????????? ??????? MouseDown, ????? ???? ?????? ?????????? ??????????? ? ??????? ????, ???? ?????? ???? ?? ????? ????????.

????? ??????????? ?????? ???????? ? ??????-????????, ??? ??????? ??? ????????. ??? ???? ?????? ???? ?????????? ????????, ??????????? ??? ???????????? ????????. ?????? ?? ?? ???? ??????????, ?????????, ??.?.

????? ??????????, ????? ?? ??????? ?????????? ????????? ???????????? ?? ???? ??????, ???????????? ???????? AllowDrop. ???? ???????? ??????? ???????? True, ? ???????? ?????????? ??????????? ???????? ??????????????, ? ????????? ?????? (?? ?????????), ???????? ?????????????? ?? ???????????.

???????? DragSize ???????? ??????? ? ???????? ????????????? ???????, ?? ??????? ??????? ?????? ????? ????????? ??? ?????????? ???????? ?????????????? ? ???, ????? ?????? ???????? ?????????????? ??? ???????? ??????????????.

????? ???????? ??????????? ??????? ??????? ??????????, ???????????? ??? ??????? ?? ??? ??????????????? ??? ??????? ????. ????????, ??? ?????????????? ?????? ? Windows, ?????? + ??? ???????? ???? ??????? ? ???, ??? ???? ? ?????? ????? ??????????.

 

????? DoDragDrop

????? DoDragDrop ???????? ???????? ??????????????.

DoDragDrop(data, allowedEffects),

??? data - ??????????????? ??????,

allowedEffects ? ???? ?? ???????? ???????????? DragDropEffects. ??????????, ????? ???????? ?????????????? ????????.

????? ???????????? DragDropEffects:

???

????????

All

?????? ??????????, ????????? ?? ????????? ? ???????????? ? ????????.

Copy

?????? ?????????? ? ????????.

Link

?????? ?? ????????? ??????????? ? ??????????

Move

?????? ?? ????????? ???????????? ? ????????.

None

???????? ?? ????????? ??????.

????? DoDragDrop ?????????? ???????? ???????????? DragDropEffects, ?????????????? ???????? ????????? ?????????? ???????? ??????????????.

????? DoDragDrop ?????????? ??????? ?????????? ?? ???????? ???????????? ???????. ????? ?? ?????????, ???????? ?? ??????? ?????????? ?????????? ??? ????????? ???????????? ???????. ???? ??, ?? ?????????? ??????? GiveFeedback ? ????????? ???????? ?????????????? (???????????? DragDropEffects).

????????? ??????? ????????? ????, ????????? ?????????? ? ?????? ???? ?????????????. ??? ????????? ????????? ?????????? ??? ???? ????????? ??????? QueryContinueDrag, ????????????, ??????? ?? ?????????? ??? ????????? ?????????????? ???? ???????? ???????? ?? ????????? ???????? ???????? Action ????????? ???????.

???????????? DragAction ?????????, ?????? ?? ???? ?????????? ???????? ?????????????? ? ????? ???????. ????? ???????????? DragAction:

??? ?????

????????

Cancel

???????? ??????????. ????????? ??????? DragLeave

Continue

???????? ????? ??????????, ????????? ??????? DragOver ??? ??????????? ???????? ? ??????? GiveFeedback ? ????? ????????

Drop

???????? ????? ??????????? ????? ??????????????. ???????? ??????? ?????????????? ???????????? ?????????.


??????? Drag&Drop

MouseDown

??????? MouseDown ?????????, ????? ????????? ???? ????????? ?? ???????? ?????????? ? ?????? ?????? ????. ?????????? ??????? ???????? ???????? ???? MouseEventArgs.

???????? MouseEventArgs:

????????

????????

Button

????? ?????? ???? ???? ??????.

Clicks

????? ??????? ? ?????????? ?????? ????.

Delta

??????? ?? ?????? ??? ?????????? ??????? ???????????? ???????? ????. ?????? - ??? ???? ?????? ???????? ????.

X

x-?????????? ????.

Y

y-?????????? ????.

??????? ???? ?????????? ? ????????? ???????:

1. MouseEnter

2. MouseMove

3. MouseDown

4. MouseUp

5. MouseLeave

 

DragDrop

??????? DragDrop ?????????, ????? ???????? ?????????????? ?????????. ?????????? ??????? ???????? ???????? ???? DragEventArgs.

???????? DragEventArgs:

????????

????????

AllowedEffect

????????, ???????????, ????? ???????? ?????????????? ????????? ?????????? ??????? ??????????????.

Data

?????? IDataObject, ?????????? ??????, ????????? ? ???? ????????.

Effect

?????? ????????????? ? ?????? ???????? ??????????????.

KeyState

????????? ?????? SHIFT, CTRL, ALT ? ?????? ????.

X

?????????? ?? ??? X ??? ????????? ???? (? ???????? ???????????).

Y

?????????? ?? ??? Y ??? ????????? ???? (? ???????? ???????????).

????? ????????????? ???????? ??????? X ? Y ? ?????????? ????????????? ??????? (???????) ??????? ???????????? ????? PointToClient. ? ????? ???? ????? ?????? ???????? ????????? ???????:

?????????? ??????? = ??????_????????.PointToClient(New Point(e.X, e.Y)),

??? Point - ?????????, ???????????? ????? ?? ?????????.

 

DragEnter

??????? DragEnter ?????????? ??? ??????????? ??????? ?????? ?????? ???????? ??????????.

 

DragLeave

??????? DragLeave ?????????? ??? ??????????? ??????? ?? ??????? ???????? ??????????, ??? ??? ?????? ??????? ???????? ??????????????.

 

DragOver

??????? DragOver ?????????? ??? ?????????????? ??????? ??? ????????? ???????? ??????????.

 

GiveFeedback

??????? GiveFeedback ????????? ? ?????? ???????? ?????????????? ? ????????? ????????? ???????? ??????? ??? ????????? ????, ????? ?????????? ?????????? ???????? ????? ?? ????? ???????? ??????????????. ?????????? ??????? ???????? ???????? ???? GiveFeedbackEventArgs.

???????? GiveFeedbackEventArgs:

????????

????????

Effect

???????? ????? ???????????? ???????? ??????????????.

UseDefaultCursors

?????????? ??? ?????? ????????????? ????????????? ??? ????????? ?????????????? ????????, ???????????? ?? ????????? ? ????????? ? ????????? ??????????????.

 

QueryContinueDrag

??????? QueryContinueDrag ????????? ??? ????????? ????????? ?????????? ??? ?????? ???? ?? ????? ???????? ?????????????? ? ????????? ????????? ??????????, ?????? ?? ??? ???? ????????. ?????????? ??????? ???????? ???????? ???? QueryContinueDragEventArgs.

???????? QueryContinueDragEventArgs:

????????

????????

Action

????????? ???????? ??????????????.

EscapePressed

?????? ?? ????????????? ??????? ESC.

KeyState

??????? ????????? ?????? SHIFT, CTRL ? ALT.

 


OLE-Drag&Drop

?????????? ?????????????? ?????? ????? ???????????? ?????????? OLE-Drag&Drop. ?????????????? ? ?????????????? OLE-?????????? ????? ?????????? ?????? ???????? ????????? ? ?????????, ?? ? ?????? ?????? ???????????? ?? ??????? ??????????, ? ?????? ??????, ??? ????????? ??????????? ????? ??????? ? ?????? ????????????, ????????? OLE-????????? Windows.

??????? ???????? ??????? ????????? ? ???????????? ? ????????? Windows. ???? ?????????????? ?????????????? ?????? ??? ??????? ?????? ????, ?? ?????????, ??? ?????? ???????????? ?? ???????-????????? ? ??????-????????, ? ?? ?????????? ???????? ???????????? ?????? ? ????????? ??????? ???????. ???? ?????????????? ??????????? ??? ??????? ??????? Ctrl, ?? ?????? ??????????.

??? OLE-?????????????? ?? ????????? ??????? ??????????? ????? ?????? ? ??????????????? ???????. ??? ? ??? ??????? ??????????????, ??????? OLE-?????????????? ?????????? ??????? ?????? DoDragDrop.

?? ??????????? ??????? ? ??????????? ??????? DragEnter ??????? ????????? ??? ??????????????? ?????????? ? ??????? ?????????? ????????: ??????????? ??? ???????????. ????? ????? ?????? ??????????? ? ??????????????? ??????? ??????????????. ????? ?????? ???????????, ??? ???????-????????? ?????????? ??????? DragDrop.

????????? ??? ??????????????? ?????????? ????? ? ??????? ?????? GetDataPresent ??????? DragEventArgs, ??????? ???????? ?????????? ??????? DragEnter. ????????:

If (e.Data.GetDataPresent(DataFormats.Text)) Then ...

????????? ???? ?????? DataFormats:

????

????????

Bitmap

?????? ????????? ??????? Windows.

CommaSeparatedValue

?????? ????????, ??????????? ???????.

FileDrop

?????? ?????? ??????? Windows.

Html

?????, ????????? ?? ?????? HTML.

MetafilePict

?????? ????????? Windows.

Rtf

?????, ????????? ?? ?????? ??????? Rich Text Format.

StringFormat

?????? ?????????? ?????? ????, ??????? ????? Windows Forms ?????????? ??? ???????? ????????? ????????.

Text

??????????? ????????? ?????? ANSI.

Tiff

??????? ?????? ????? ??????????? Windows.

UnicodeText

??????????? ????????? ?????? Windows Unicode.

WaveAudio

?????? WAV.

????? ???????? ?????????? ????????? ???????? ? ??????? ????????? ???????? Effect ????????? ??????? DragEnter. ????????:

If (e.Data.GetDataPresent(DataFormats.Text)) Then e.Effect = _ DragDropEffects.Copy

????? ?????????? ???????? ?????????? ??????? DragDrop ??? ?????????? ??????????????, ? ???? ??????????? ?????? ?????????? ???, ????????????? ?????????? ?? ???????????. ????????, ????? ????????? ????? ? RichTextBox ?????????? ???????? ????????? ???:

RichTextBox1.Text = e.Data.GetData(DataFormats.Text).ToString

????? GetData ?????????? ??????, ????????? ? ???????? ????????.

 

 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

???????????

??????????




??????? ?????????

????????

Внимание!!! Файл sape.php не обнаружен. Проверьте правильность установки кода Sape.


C???????? ?????????