تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ListView تغير شكلها
#6
سلام عليكم اخي الكريم

وجدت ماتطلبه في هذا الموضوع : https://www.codeproject.com/Tips/1264552...e-ListView


تحتاج الى ان تستخدم ListView معدلة تضيف السهم لاغلاق وفتح المجموعة 

كود :
Imports System.Runtime.InteropServices

Public Class CollapsibleListView
   Inherits ListView

   Private Const LVGF_STATE As Integer = &H4
   Private Const LVGS_COLLAPSIBLE As Integer = &H8
   Private Const LVM_FIRST As Integer = &H1000
   Private Const LVM_SETGROUPINFO As Integer = (LVM_FIRST + 147)
   Private Const LVM_INSERTGROUP As Integer = (LVM_FIRST + 145)
   Private Const WM_LBUTTONUP As Integer = &H202

   Protected Overrides Sub WndProc(ByRef message As Message)
       Select Case message.Msg
           Case WM_LBUTTONUP
               MyBase.DefWndProc(message)
           Case LVM_INSERTGROUP
               MyBase.WndProc(message)
               Dim group = Marshal.PtrToStructure(Of LvGroup)(message.LParam)
               SetGroupCollapsible(group.iGroupId)
               Return
       End Select

       MyBase.WndProc(message)
   End Sub

   <DllImport("user32.dll")>
   Private Shared Function SendMessage(ByVal handle As IntPtr, ByVal message As Integer, ByVal wParam As Integer, ByVal lParam As IntPtr) As Integer

   End Function

   <StructLayout(LayoutKind.Sequential)>
   Private Structure LvGroup
       Public cbSize As Integer
       Public mask As Integer
       <MarshalAs(UnmanagedType.LPTStr)>
       Public pszHeader As String
       Public cchHeader As Integer
       <MarshalAs(UnmanagedType.LPTStr)>
       Public pszFooter As String
       Public cchFooter As Integer
       Public iGroupId As Integer
       Public stateMask As Integer
       Public state As Integer
       Public uAlign As Integer
   End Structure

   Private Sub SetGroupCollapsible(ByVal groupItemIndex As Integer)
       Dim group As LvGroup = New LvGroup()
       group.cbSize = Marshal.SizeOf(group)
       group.state = LVGS_COLLAPSIBLE
       group.mask = LVGF_STATE
       group.iGroupId = groupItemIndex
       Dim ip As IntPtr = IntPtr.Zero

       Try
           ip = Marshal.AllocHGlobal(group.cbSize)
           Marshal.StructureToPtr(group, ip, False)
           SendMessage(Handle, LVM_SETGROUPINFO, groupItemIndex, ip)
       Finally

           If ip <> IntPtr.Zero Then
               Marshal.FreeHGlobal(ip)
           End If
       End Try
   End Sub



End Class


اضف الكلاس الى مشروعك ثم استخدم CollapsibleListView بدلا من الليست فيو العادية

قمت باعداد مثال شبيه بما ارفقته

   

   

   

   


الملفات المرفقة
.zip   ListviewExample.zip (الحجم : 18.72 ك ب / التحميلات : 19)
الرد }}}
تم الشكر بواسطة: أشرف كريم 2 , أشرف كريم 2 , asemshahen5


الردود في هذا الموضوع
ListView تغير شكلها - بواسطة alims - 02-11-21, 02:12 PM
RE: ListView تغير شكلها - بواسطة عدنان الشمري - 02-11-21, 02:26 PM
RE: ListView تغير شكلها - بواسطة asemshahen5 - 02-11-21, 02:35 PM
RE: ListView تغير شكلها - بواسطة alims - 02-11-21, 02:49 PM
RE: ListView تغير شكلها - بواسطة alims - 02-11-21, 04:26 PM
RE: ListView تغير شكلها - بواسطة Anas Mahmoud - 03-11-21, 01:51 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تغير شكل الليبول الي شكل اخر غير المسطيل fireswored1 3 550 09-02-25, 06:43 AM
آخر رد: fireswored1
  [VB.NET] عكس العرض على ListView aminesori 3 391 25-11-24, 12:42 AM
آخر رد: aminesori
  [VB.NET] القراءة من ملف txt واضافته في Listview aminesori 4 537 19-10-24, 03:53 PM
آخر رد: salamandal
  [VB.NET] مساعدة في تغير لون جميع شاشة المشروع MOHAMMED ALZWI 2 488 29-08-24, 02:33 PM
آخر رد: MOHAMMED ALZWI
  تغير DateTimePicker1 من نظام 24 ساعه الى 12 ساعه ABDULLAH HASSAN 2 374 21-04-24, 09:53 PM
آخر رد: ABDULLAH HASSAN
  حل مشكلة فى listview malekmohamed155 1 545 19-01-24, 06:19 PM
آخر رد: malekmohamed155
  اريد البحث عن ID داخل ListView من قاعدة بيانات لكل صنف معين moh61 6 1,145 26-07-23, 05:47 AM
آخر رد: Taha Okla
  اريد تغير حجم ال Panel عند التفيذ من داخل الكود moh61 2 695 23-07-23, 12:22 AM
آخر رد: أبووسم
Rainbow [كود] النص المكتوب يكون على شكل وميض او تغير في الالوان محمد مسافر 1 763 13-05-23, 01:30 AM
آخر رد: عبدالله الدوسري
  [VB.NET] مشكلة بعد تغير NET Framework 4 Client Profile MOHAMMED ALZWI 0 565 28-02-23, 11:32 AM
آخر رد: MOHAMMED ALZWI

التنقل السريع :


يقوم بقرائة الموضوع: