Страница: 1 |
Вопрос: ListView и несколько вопросов | Добавлено: 13.07.05 15:28 |
Автор вопроса: ![]() |
Есть два вопроса по ListView в VB .Net.
1. У LV есть свойство BackgroundImage. Задал картинку и долго пытался заставить отображаться ее. Так и не получилось. С другими элементами таких проблем не возникает. 2. Как заставить мышкой перемещать иконки и задавать им новое место расположения, как в Explorer Помогите!!!:))) |
Ответы | Всего ответов: 9 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 220401330 Вопросов: 47 Ответов: 406 |
Профиль | Цитата | #1 | Добавлено: 13.07.05 20:01 |
http://www.gotdotnet.ru/DotNet/FAQ/WindowsForms/ListView/32117.aspx
Это по Backgroundimage |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #2 | Добавлено: 15.07.05 02:05 |
А перевести на VB можно. На самом деле частично перевел, но в некоторых местах затык. Если не сложно конечно! Буду очень благодарен![]() |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 220401330 Вопросов: 47 Ответов: 406 |
Профиль | Цитата | #3 | Добавлено: 16.07.05 14:13 |
Какие именно куски кода? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #4 | Добавлено: 18.07.05 10:36 |
Вот, например, фрагмент, который корректно не удалось перевести
IntPtr pointer = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(LVBKIMAGE))); Постоянно подсвечивается синтаксис объявления public new string BackgroundImage, а также все значения, типа 0x00000000 |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 220401330 Вопросов: 47 Ответов: 406 |
Профиль | Цитата | #5 | Добавлено: 18.07.05 13:50 |
IntPtr pointer = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(LVBKIMAGE)));
Dim pointer = Marshal.AllocHGLobal(Marshal.SizeOf(LVBKIMAGE)) public new string BackgroundImage
Public Property BackgroundImage As String 0x00000000
Вместо 0x подставь &H |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 220401330 Вопросов: 47 Ответов: 406 |
Профиль | Цитата | #6 | Добавлено: 18.07.05 13:51 |
Упс ![]() Dim pointer as IntPtr=... |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #7 | Добавлено: 18.07.05 21:24 |
Привожу почти весь переведенный код. Подчеркнутым отмечено то, на что ругается:
Public Structure LVBKIMAGE
Public ulFlags As ListViewBkImageFlags Public hbm As IntPtr Public pszImage As IntPtr Public cchImageMax As Integer Public xOffsetPercent As Integer Public yOffsetPercent As Integer End Structure Public Enum ListViewBkImageFlags LVBKIF_SOURCE_NONE = &H0 LVBKIF_SOURCE_HBITMAP = &H1 LVBKIF_SOURCE_URL = &H2 LVBKIF_SOURCE_MASK = &H3 LVBKIF_STYLE_NORMAL = &H0 LVBKIF_STYLE_TILE = &H10 LVBKIF_STYLE_MASK = &H10 LVBKIF_FLAG_TILEOFFSET = &H100 LVBKIF_TYPE_WATERMARK = &H10000000 End Enum Public Property [U]BackgroundImage()[/U] As String Get Dim backImage As New LVBKIMAGE backImage.ulFlags = ListViewBkImageFlags.LVBKIF_SOURCE_URL backImage.cchImageMax = MAX_BUFFER_SIZE Dim stringPointer As IntPtr = Marshal.AllocHGlobal(MAX_BUFFER_SIZE) backImage.pszImage = stringPointer Dim pointer As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf([U]LVBKIMAGE[/U] ![]() Marshal.StructureToPtr(backImage, pointer, True) Dim message As Message = message.Create(Handle, Int(Messages.LVM_GETBKIMAGEW, [U]Zero[/U], pointer)) ![]() Dim fileName As String = Marshal.PtrToStringUni(stringPointer) Marshal.FreeHGlobal(stringPointer) Marshal.FreeHGlobal(pointer) Return fileName End Get Set(ByVal Value As String) Dim backImage As New LVBKIMAGE backImage.ulFlags = ListViewBkImageFlags.LVBKIF_SOURCE_URL backImage.pszImage = Marshal.StringToHGlobalUni(Value) Dim pointer As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(LVBKIMAGE)) Marshal.StructureToPtr(backImage, pointer, False) Dim message As Message = message.Create(Handle, Int(Messages.LVM_SETBKIMAGEW, [U]Zero[/U], pointer)) ![]() Marshal.FreeHGlobal(pointer) End Set End Property Enum Messages LVM_FIRST = &H1000 LVM_SETBKIMAGEW = LVM_FIRST + 138 LVM_GETBKIMAGEW = LVM_FIRST + 139 End Enum |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() Вопросов: 215 Ответов: 1596 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 21.07.05 13:00 |
[OFF]
Александр, смени, плиз ник, а то ты тут не один Александр. [/OFF] |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 4 |
Профиль | Цитата | #9 | Добавлено: 21.07.05 14:55 |
2Empro: Поменял![]() Все вопросы остаются открытыми, хотя по BackgroundImage вроде все есть, но VB .Net ругается. Весь скрипт приведен выше. |
Страница: 1 |
|