|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Drag and Drop Operations
A tree-view control notifies the parent window when the user starts to drag an item. The parent window receives a TVN_BEGINDRAG notification message when the user begins dragging an item with the left mouse button and a TVN_BEGINRDRAG notification message when the user begins dragging with the right button. You can prevent a tree-view control from sending these notifications by giving the tree-view control the TVS_DISABLEDRAGDROP style.
You obtain an image to display during a drag operation by using the TVM_CREATEDRAGIMAGE message. The tree-view control creates a dragging bitmap based on the label of the item being dragged. Then the tree-view control creates an image list, adds the bitmap to it, and returns the handle of the image list. You must provide the code that actually drags the item. This typically involves using the dragging capabilities of the image list functions and processing the WM_MOUSEMOVE and WM_LBUTTONUP (or WM_RBUTTONUP) messages sent to the parent window after the drag operation has begun. For more information about the image list functions, see Image Lists. For more information about dragging a tree-view item, see Dragging a Tree-View Item.
If items in a tree-view control are to be the targets of a drag and drop operation, you need to know when the mouse cursor is on a target item. You can find out by using the TVM_HITTEST message. You specify the address of a TV_HITTESTINFO structure that contains the current coordinates of the mouse cursor. When the SendMessage function returns, the structure contains a flag indicating the location of the mouse cursor relative to the tree-view control. If the cursor is over an item in the tree-view control, the structure contains the handle of the item as well.
You can indicate that an item is the target of a drag and drop operation by using the TVM_SETITEM message to set the state to the TVIS_DROPHILITED value. An item that has this state is drawn in the style used to indicate a drag and drop target.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Действия ПЕРЕРАСПРЕДЕЛЕНИЯ
Дерево-вид управления уведомляет родительское окно когда потребитель начинает тащить пункт. Родительское окно получает сообщение уведомления TVN_BEGINDRAG когда потребитель начинает тащить пункту с левой кнопкой мыши и сообщение уведомления TVN_BEGINRDRAG когда потребитель начинает тащиться с кнопкой права. Вы можете помешать дереву-виду управления чтобы посылать эти уведомления давая дерево-вид управлять стилем TVS_DISABLEDRAGDROP.
Вы получаете образ, чтобы отображаться в течение действия помехи используя сообщение TVM_CREATEDRAGIMAGE. Дерево-вид управления создает тащащее побитовое отображение основанное на этикетке пункта, тащенного. Затем дерево-вид управления создает список образа, добавляет побитовое отображение к этому и возвращает ручку списка образа. Вы должны обеспечить код, который действительно тащит пункт. Это обычно включает используя перемещение возможностей функций списка образа и обрабатывая WM_MOUSEMOVE и WM_LBUTTONUP сообщений (или WM_RBUTTONUP) посланное в родительское окно после того, как действие помехи начало. Более подробно о функциях списка образа, смотри Списки Образа. Более подробно о перемещении дерева-вид пункта, смотри Таща Пункт Tree-View.
Если пункты в дереве-виде управления должны быть объекты действия перераспределения, Вам нужно знать когда курсор мыши находится в целевом пункте. Вы можете обнаружить используя сообщение TVM_HITTEST. Вы определяете адрес структуры TV_HITTESTINFO, которая содержит текущие координаты курсора мыши. Когда функциональный возврат SendMessage, структура содержит флаг, указывающий позицию курсора мыши относительно дерева-вида управления. Если курсор - над пунктом в дереве-виде управления, структура содержит ручку пункта также.
Вы можете указать, что пункт является объектом действия перераспределения используя сообщение TVM_SETITEM, чтобы устанавливать состояние в величину TVIS_DROPHILITED. Пункт, который уговаривает это состояние втянут стиль использованный, чтобы указывать цель перераспределения.
|
|
|
|
| |