1
/
من
2
vivre-motion
قائمة Excel المنسدلة القابلة للبحث
SKU: VM-70019- سعر عادي
- € 0,00 EUR
- سعر عادي
-
€ 3,00 EUR - سعر البيع
- € 0,00 EUR
- سعر الوحدة
- / ل
شامل الضريبة.
شحن محسوبة عند الخروج.
No reviews
تعذر تحميل توفر الالتقاط
قائمة سياق القائمة المنسدلة الحديثة في Excel
قائمة التحديد القابلة للبحث
تحل قائمة تحديد VBA التفاعلية محل DropZone القياسي بواجهة حديثة.
تتيح قائمة التحديد الحديثة أيضًا البحث في الوقت الفعلي باستخدام علامة النجمة أحرف البدل.
عملية الواجهة
- اضغط على Space من أجل * Asterisk Wildcard
- اضغط على السهم لأسفل لتحديد العنصر
إعداد مصدر الإدخال والألوان
اضغط على [_0127_37 _] + F11 ، افتح CONTEXT_MENU وقم بتغيير قيمة بيانات الإدخال إلى قيمتك. اضبط ألوان النسق داخل نموذج مستخدم SELECT_MENU في الأعلى.
كود مصدر VBA
'///////////////////////////////////////////////////// /////////////////////////////////////////
خيار صريح
Const الخاصة COLOR_HOVER_ITEM_FONT = & amp؛ HFFFFFF
الإنشاء الخاص COLOR_HOVER_ITEM_BACK = & amp؛ HEADE47
الإنشاء الخاص COLOR_DEFAULT_ITEM_FONT = & amp؛ H412C2B
Const الخاص COLOR_SEARCH_FIELD_FONT = & amp؛ H412C2B
العنوان الخاص COLOR_PLACEHOLDER_FONT = & amp؛ H968372
Const الخاص COLOR_SMILEY_BACK = & amp؛ H968372
Const الخاص COLOR_SLIDER_DEFAULT_BACK = & amp؛ HEADE47
Const الخاص COLOR_SLIDER_HOVER_BACK = & amp؛ HCAC0BF
Const الخاص COLOR_SLIDERAERA_HOVER_BACK = & amp؛ HCAC0BF
Const الخاص COLOR_SLIDERAERA_DEFAULT_BACK = & amp؛ HFAF5F2
Const الخاص COLOR_COUNTER_FONT = & amp؛ H968372
Const الخاص COLOR_SLIDERAERA_PLACEHOLDER_BACK = & amp؛ HFFFFFF
'///////////////////////////////////////////////////// /////////////////////////////////////////
إعلان خاص عن وظيفة PtrSafe SendMessage Lib "user32" اسم مستعار "SendMessageA" (ByVal H_WINDOW طويل ، ByVal wMsg طويل ، ByVal wParam طويل ، lParam مثل أي) طويلة
إعلان خاص وظيفة PtrSafe ReleaseCapture Lib "user32" () طالما
إعلان خاص دالة PtrSafe ShellExecute Lib "shell32.dll" اسم مستعار "ShellExecuteA" (ByVal hWnd As Long ، ByVal lpOperation As Long ، ByVal lpFile As String ، ByVal lpParameters As String ، ByVal lpDirectory As String ، ByVal nshowcmd As Long)
إعلان خاص تعيين وظيفة PtrSafeWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal H_WINDOW As Long ، ByVal lngWinIdx طويل ، ByVal dwNewLong طويل)
إعلان خاص دالة PtrSafe GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal H_WINDOW As Long ، ByVal lngWinIdx طويل) طويل
إعلان خاص تعيين دالة PtrSafe ليب "user32" (ByVal H_WINDOW طويل ، ByVal crKey كعدد صحيح ، ByVal bAlpha As Integer ، ByVal dwFlags طويل)
إعلان خاص دالة PtrSafe FindWindow Lib "user32" الاسم المستعار "FindWindowA" (ByVal lpClassName كسلسلة ، ByVal lpWindowName كسلسلة) طويلة
إعلان خاص دالة PtrSafe FindWindowEx Lib "user32" اسم مستعار "FindWindowExA" (ByVal hWnd1 طويل ، ByVal hWnd2 طويل ، ByVal lpsz1 كسلسلة ، ByVal lpsz2 كسلسلة) طويلة
إعلان خاص دالة PtrSafe DrawMenuBar Lib "user32" (ByVal H_WINDOW بطول طويل)
إعلان خاص دالة PtrSafe GetWindow Lib "user32" (ByVal hWnd طويل ، ByVal wCmd وطول)
إعلان خاص دالة PtrSafe DwmSetWindowAttribute Lib "dwmapi" (ByVal hWnd طويل ، ByVal Attr As Integer ، ByRef AttrValue As Integer ، ByVal AttrSize As Integer) طويل
إعلان خاص عن وظيفة PtrSafe DwmExtendFrameIntoClientArea Lib "dwmapi" (ByVal hWnd As Long ، ByRef NEWMARGINS as MarGINS) طويلة
'///////////////////////////////////////////////////// /////////////////////////////////////////
خاص Const GWL _ [_ 0127_45_] = (-16)
Const الخاصة WS_CAPTION = & amp؛ HC00000 '//// WS_BORDER أو WS_DLGFRAME
التأسيس الخاص WS_BORDER = & amp؛ H800000
GWL_EXSTYLE الخاص بالطول = (-20) '//// OFFSET OF WINDOW EXTENDED STYLE
الإطار الخاص WS_EX_DLGMODALFRAME بالطول = & amp؛ H1 '//// CONTROLS IF WINDOW لديه رمز
SC_CLOSE الخاص بالطول = & amp؛ HF060
SW_SHOW الخاص بالأرقام الطويلة = 5
التأسيس الخاص WS_EX_LAYERED = & amp؛ H80000
المصمم الخاص LWA_COLORKEY = & amp؛ H1
المصمم الخاص LWA_ALPHA = & amp؛ H2
التوزيع الخاص WS_EX_TRANSPARENT = & amp؛ H20 & amp؛
'///////////////////////////////////////////////////// /////////////////////////////////////////
Enum الخاص ESetWindowPosStyles
SWP_SHOWWINDOW = & amp؛ H40
SWP_HIDEWINDOW = & amp؛ H80
SWP_FRAMECHANGED = & amp؛ H20 '//// تغيير الإطار أرسل WM_NCCALCSIZE
SWP_NOACTIVATE = & amp؛ H10
SWP_NOCOPYBITS = & amp؛ H100
SWP_NOMOVE = & amp؛ H2
SWP_NOOWNERZORDER = & amp؛ H200 '// لا تفعل مالك Z الطلب
SWP_NOREDRAW = & amp؛ H8
SWP_NOREPOSITION = SWP_NOOWNERZORDER
SWP_NOSIZE = & amp؛ H1
SWP_NOZORDER = & amp؛ H4
SWP_DRAWFRAME = SWP_FRAMECHANGED
HWND_NOTOPMOST = -2
End Enum
'///////////////////////////////////////////////////// /////////////////////////////////////////
نوع خاص هوامش
اليسار طالما
توب طويل
حق طويل
الأسفل بالطول
نوع النهاية
'///////////////////////////////////////////////////// /////////////////////////////////////////
HTCAPTION الخاص CONSTAPTION = 2
XWNDFORM الخاص ، XWNDFORMEX As Long
Const الخاصة WM_NCLBUTTONDOWN = & amp؛ HA1
'///////////////////////////////////////////////////// /////////////////////////////////////////
خافت ENV_SLOTS وطولها
قاتمة SLIDE_LEFT_POS طالما
قاتمة SLIDE_TOP_POS طالما
خافت SELECT_SLIDE_ARRAY
خافت SELECT_SLIDE_ARRAY_MAX بالطول
خافت ARROW_SELECT كسلسلة
Dim I_SELECT كعدد صحيح
'///////////////////////////////////////////////////// /////////////////////////////////////////
UserForm_Activate الفرعي الخاص ()
Me.ScrollTop = 700
اتصل بـ INIT_STAGE
Me.ScrollTop = 0
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص INIT_STAGE ()
"
'Me.TOP = ActiveCell.TOP + Application.TOP
'Me.LEFT = ActiveCell.LEFT + Application.LEFT
SMILEY.Visible = خطأ
ENV_SLOTS = 6
I_SELECT = 0
اتصل بـ RESET_STAGE
SEARCH_FIELD.ForeColor = COLOR_SEARCH_FIELD_FONT
SMILEY.ForeColor = COLOR_SMILEY_BACK
SEARCH_FIELD_PLACEHOLDER.ForeColor = COLOR_PLACEHOLDER_FONT
COUNTER.ForeColor = COLOR_COUNTER_FONT
SLIDE_AREA_PLACEHOLDER.BackColor = COLOR_SLIDERAERA_PLACEHOLDER_BACK
أنا خافت طالما
بالنسبة إلى I = 1 إلى ENV_SLOTS
عناصر التحكم ("HOVER_" & amp؛ I) .BorderStyle = fmBorderStyleNone
بعدها انا
SEARCH_FIELD.Text = ""
SEARCH_FIELD.SetFocus
استدعاء HYPER_SEARCH (SEARCH_FIELD.Text)
اتصال REFRESH_SLIDE (0)
SLIDER.TOP = SLIDE_AREA.TOP
الاتصال بـ SLIDER_RESET (Me.SLIDE_AREA، Me.SLIDER)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub UserForm_MouseDown (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
إذا كان الزر = 1 ثم
ReleaseCapture
SendMessage XWNDFORM، WM_NCLBUTTONDOWN، HTCAPTION، 0 & amp؛
إنهاء إذا
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
تحوُّل فرعي خاص (عنصر ByVal طالما كان طويلاً)
عناصر التحكم ("BACK_" & amp؛ ITEM) .BackColor = COLOR_HOVER_ITEM_BACK
عناصر التحكم ("BACK_" & amp؛ ITEM) .Visible = True
عناصر التحكم ("ITEM_" & amp؛ ITEM) .ForeColor = COLOR_HOVER_ITEM_FONT
End Sub
UserForm_Initialize فرعي خاص ()
قاتمة ISTYLE ، HWNDFORM طالما
Dim btrans As Byte
btrans = 128
خافت NEWMARGINS على شكل هوامش
HWNDFORM = FindWindow (vbNullString، Me.Caption) '//// GET WINDOW
ISTYLE = GetWindowLong (HWNDFORM، GWL _ [_ 0127_45_]) '//// BASIC WINDOW STYLE FLAGS FORM
ISTYLE = ISTYLE وليس WS_CAPTION '//// NO CAPTION AREA
SetWindowLong HWNDFORM، GWL _ [_ 0127_45_]، ISTYLE '//// SET BASIC WINDOW STYLES
ISTYLE = GetWindowLong (HWNDFORM، GWL_EXSTYLE) "//// BUILD EXTENDED WINDOW STYLE
ISTYLE = ISTYLE وليس WS_EX_DLGMODALFRAME '//// NO BORDER
SetWindowLong HWNDFORM ، GWL_EXSTYLE ، ISTYLE
XWNDFORM = FindWindow ("ThunderDFrame"، vbNullString) "//// GET NEW WINDOW
DwmSetWindowAttribute XWNDFORM، 2، 2، 4 '//// DWMAPI
مع NEWMARGINS
.BOTTOM = 1 '//// -1
.LEFT = 1 '//// -1
.RIGHT = 1 '//// -1
.TOP = 1 '//// -1
انتهت ب
DwmExtendFrameIntoClientArea XWNDFORM ، NEWMARGINS '//// DWMAPI
DrawMenuBar HWNDFORM '//// CLEAN MENU BAR
Me.Width = Me.Width - 12
أنا الارتفاع = أنا الارتفاع - 19
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub UserForm_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
اتصل بـ RESET_STAGE
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub SEARCH_FIELD_KeyDown (ByVal KeyCode كـ MSForms.ReturnInteger ، ByVal Shift As Integer)
إذا كان KeyCode = 40 ثم SELECT_DOWN
إذا كان KeyCode = 38 ثم SELECT_UP
إذا كان KeyCode = 13 ثم
SELECT_NAME = ARROW_SELECT
تفريغ لي
إنهاء إذا
إذا كان KeyCode = 27 ثم
SELECT_NAME = ""
تفريغ لي
إنهاء إذا
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
الفرعية الخاصة SELECT_DOWN ()
If Me.Controls ("ITEM_" & amp؛ 1) .Visible = False ثم اخرج من Sub
إذا I_SELECT & lt؛ & GT؛ ENV_SLOTS ثم
I_SELECT = I_SELECT + 1
اتصل بـ RESET_STAGE
If Me.Controls ("ITEM_" & amp؛ I_SELECT) .Visible = False ثم I_SELECT = I_SELECT - 1
اتصل HOVERME (I_SELECT)
ARROW_SELECT = Me.Controls ("ITEM_" & amp؛ I_SELECT).
إنهاء إذا
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
الفرعية الخاصة SELECT_UP ()
If Me.Controls ("ITEM_" & amp؛ 1) .Visible = False ثم اخرج من Sub
إذا I_SELECT & GT ؛ = 2 ثم
I_SELECT = I_SELECT - 1
اتصل بـ RESET_STAGE
اتصل HOVERME (I_SELECT)
ARROW_SELECT = Me.Controls ("ITEM_" & amp؛ I_SELECT).
إنهاء إذا
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
SEARCH_FIELD_Change الخاص ()
SEARCH_FIELD.Text = استبدال (SEARCH_FIELD.Text، ""، "*")
إذا SEARCH_FIELD.Text = "" إذن
SEARCH_FIELD_PLACEHOLDER.Text = "سوشي"
آخر
SEARCH_FIELD_PLACEHOLDER.Text = ""
إنهاء إذا
استدعاء HYPER_SEARCH (SEARCH_FIELD.Text)
اتصال REFRESH_SLIDE (0)
SLIDER.TOP = SLIDE_AREA.TOP
اتصل بـ RESET_STAGE
ARROW_SELECT = ""
I_SELECT = 0
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub UserForm_QueryClose (إلغاء بشكل صحيح ، CloseMode As Integer)
إذا كان CloseMode = 0 ثم SELECT_NAME = ""
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
الفرعية الخاصة RESET_STAGE ()
أنا خافت طالما
الاتصال بـ SLIDER_RESET (Me.SLIDE_AREA، Me.SLIDER)
بالنسبة إلى I = 1 إلى ENV_SLOTS
ضوابط ("BACK_" & amp؛ I) .Visible = False
عناصر التحكم ("ITEM_" & amp؛ I) .ForeColor = COLOR_DEFAULT_ITEM_FONT
بعدها انا
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص HOVER_1_Click ()
SELECT_NAME = ITEM_1.ControlTipText
تفريغ لي
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص HOVER_2_Click ()
SELECT_NAME = ITEM_2.ControlTipText
تفريغ لي
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص HOVER_3_Click ()
SELECT_NAME = ITEM_3.ControlTipText
تفريغ لي
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص HOVER_4_Click ()
SELECT_NAME = ITEM_4.ControlTipText
تفريغ لي
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص HOVER_5_Click ()
SELECT_NAME = ITEM_5.ControlTipText
تفريغ لي
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص HOVER_6_Click ()
SELECT_NAME = ITEM_6.ControlTipText
تفريغ لي
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub HOVER_1_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X فردي ، ByVal Y فردي)
اتصل بـ RESET_STAGE
اتصل هوفرمي (1)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub HOVER_2_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
اتصل بـ RESET_STAGE
اتصل هوفرمي (2)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub HOVER_3_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
اتصل بـ RESET_STAGE
اتصل هوفرمي (3)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub HOVER_4_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
اتصل بـ RESET_STAGE
اتصل هوفرمي (4)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub HOVER_5_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
اتصل بـ RESET_STAGE
اتصل هوفرمي (5)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub HOVER_6_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
اتصل بـ RESET_STAGE
اتصل هوفرمي (6)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Public Sub SLIDE_AREA_MouseMove (ByVal Button As Integer، ByVal Shift As Integer، ByVal X as Single، ByVal Y as Single)
اتصال بـ SLIDE_AREA_MOUSE_MOVE (Me.SLIDE_AREA، Me.SLIDER)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub SLIDER_MouseMove (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
قاتمة SCROLL_POS وطولها
SCROLL_POS = دائري (((SELECT_SLIDE_ARRAY_MAX - ENV_SLOTS) * CONTROL_SLIDER (Me.SLIDER ، Me.SLIDE_AREA ، X ، Y ، زر)) / 100) ، 0)
استدعاء REFRESH_SLIDE (SCROLL_POS)
الاتصال بـ SLIDER_MOUSE_MOVE (Me.SLIDE_AREA، Me.SLIDER)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub SLIDE_AREA_MouseDown (ByVal Button As Integer، ByVal Shift As Integer، ByVal X as Single، ByVal Y as Single)
قاتمة SCROLL_POS وطولها
SCROLL_POS = دائري (((SELECT_SLIDE_ARRAY_MAX - ENV_SLOTS) * CONTROL_SLIDE_AREA (Me.SLIDER، Me.SLIDE_AREA، X، Y)) / 100)، 0)
استدعاء REFRESH_SLIDE (SCROLL_POS)
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub SLIDER_MouseDown (زر ByVal كعدد صحيح ، ByVal Shift كعدد صحيح ، ByVal X مفرد ، ByVal Y فردي)
إذا كان الزر = 1 ثم SLIDE_LEFT_POS = X
إذا كان الزر = 1 ثم SLIDE_TOP_POS = Y
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Sub Private Sub REFRESH_SLIDE (ByVal SCROLL_POS As Long)
أنا خافت طالما
Me.COUNTER.Caption = SELECT_SLIDE_ARRAY_MAX
إذا كان SELECT_SLIDE_ARRAY_MAX = 0 إذن
SMILEY.Visible = صحيح
آخر
SMILEY.Visible = خطأ
إنهاء إذا
بالنسبة إلى I = 1 إلى MAX_ITEMS ENV_SLOTS
إذا & lt؛ = SELECT_SLIDE_ARRAY_MAX إذن
إذا كان SELECT_SLIDE_ARRAY (SCROLL_POS + I، 1) & lt؛ & gt؛ "" ثم
عناصر التحكم ("HOVER_" & amp؛ I) .Visible = True
عناصر التحكم ("ITEM_" & amp؛ I). التسمية التوضيحية = SELECT_SLIDE_ARRAY (SCROLL_POS + I ، 1)
عناصر التحكم ("ITEM_" & amp؛ I) .ControlTipText = SELECT_SLIDE_ARRAY (SCROLL_POS + I ، 1)
عناصر التحكم ("ITEM_" & amp؛ I) .Visible = True
آخر
عناصر التحكم ("SLOT_" & amp؛ I) .Visible = True
عناصر التحكم ("HOVER_" & amp؛ I) .Visible = False
عناصر التحكم ("ITEM_" & amp؛ I) .Visible = False
إنهاء إذا
آخر
عناصر التحكم ("HOVER_" & amp؛ I) .Visible = False
عناصر التحكم ("ITEM_" & amp؛ I) .Visible = False
إنهاء إذا
بعدها انا
إذا كان SELECT_SLIDE_ARRAY_MAX & lt ؛ ENV_SLOTS ثم
SLIDER.Visible = خطأ
SLIDE_AREA.Visible = خطأ
آخر
SLIDER.Visible = صحيح
SLIDE_AREA.Visible = صحيح
إنهاء إذا
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
وظيفة خاصة CONTROL_SLIDER (ByRef SLIDER ككائن ، ByRef SLIDE_AREA ككائن ، ByVal X فردي ، ByVal Y فردي ، ByVal BUTTON_HOLD كعدد صحيح) طويل
'خطأ في الصفحة، إذهب للتالي
خافت SNG_LEFT كفرد
خافت SNG_TOP كفرد
خافت SCROLL_POS كفرد
خافت SCROLL_RANGE كفرد
إذا BUTTON_HOLD = 1 إذن
"//// المنطقة اليسرى
SNG_LEFT = (SLIDER.LEFT + X) - SLIDE_LEFT_POS
إذا كان SNG_LEFT & lt؛ SLIDE_AREA.LEFT ثم SNG_LEFT = SLIDE_AREA.LEFT
إذا كان (SNG_LEFT + SLIDER.Width) & GT ؛ (SLIDE_AREA.LEFT + SLIDE_AREA.Width) ثم
SNG_LEFT = SLIDE_AREA.LEFT + SLIDE_AREA.Width - SLIDER.Width
إنهاء إذا
"//// منطقة الارتفاع
SNG_TOP = (SLIDER.TOP + Y) - SLIDE_TOP_POS
إذا كان SNG_TOP & lt؛ SLIDE_AREA.TOP ثم SNG_TOP = SLIDE_AREA.TOP
إذا كان (SNG_TOP + SLIDER.Height) & GT ؛ (SLIDE_AREA.TOP + SLIDE_AREA.Height) ثم
SNG_TOP = SLIDE_AREA.TOP + SLIDE_AREA.Height - SLIDER.Height
إنهاء إذا
SLIDER.Move SNG_LEFT ، SNG_TOP
إنهاء إذا
"//// مجموعة الشرائح
SCROLL_POS = دائري (SLIDER.TOP - SLIDE_AREA.TOP ، 0)
SCROLL_RANGE = SLIDE_AREA.Height - SLIDER.Height
CONTROL_SLIDER = دائري (((100 * SCROLL_POS) / SCROLL_RANGE) ، 0) 'PERCENT
وظيفة النهاية
'///////////////////////////////////////////////////// /////////////////////////////////////////
وظيفة خاصة CONTROL_SLIDE_AREA (ByRef SLIDER ككائن ، ByRef SLIDE_AREA ككائن ، ByVal X فردي ، ByVal Y فردي) طويلة
'خطأ في الصفحة، إذهب للتالي
خافت SNG_LEFT كفرد
خافت SNG_TOP كفرد
خافت SCROLL_POS كفرد
خافت SCROLL_RANGE كفرد
خافت SET_POS بالطول
SET_POS = Y - SLIDER.Height + SLIDE_AREA.TOP
إذا SET_POS العلامة & lt ؛ SLIDE_AREA.TOP ثم
SLIDER.TOP = SLIDE_AREA.TOP
آخر
SLIDER.TOP = SET_POS
إنهاء إذا
إذا كان ((SLIDE_AREA.TOP + SLIDE_AREA.Height) - (SLIDER.TOP + SLIDER.Height)) & lt؛ 30 ثم
SLIDER.TOP = (SLIDE_AREA.TOP + SLIDE_AREA.Height) - SLIDER.Height
إنهاء إذا
"//// مجموعة الشرائح
SCROLL_POS = دائري (SLIDER.TOP - SLIDE_AREA.TOP ، 0)
SCROLL_RANGE = SLIDE_AREA.Height - SLIDER.Height
CONTROL_SLIDE_AREA = دائري (((100 * SCROLL_POS) / SCROLL_RANGE) ، 0) 'PERCENT
وظيفة النهاية
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub SLIDE_AREA_MOUSE_MOVE (ByVal SLIDE_AREA_ITEM ككائن ، ByVal SLIDER_ITEM ككائن)
SLIDE_AREA_ITEM.BackColor = COLOR_SLIDERAERA_HOVER_BACK
SLIDER_ITEM.BackColor = COLOR_SLIDER_DEFAULT_BACK
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub SLIDER_MOUSE_MOVE (ByVal SLIDE_AREA_ITEM ككائن ، ByVal SLIDER_ITEM ككائن)
SLIDE_AREA_ITEM.BackColor = COLOR_SLIDERAERA_DEFAULT_BACK
SLIDER_ITEM.BackColor = COLOR_SLIDER_HOVER_BACK
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
Private Sub SLIDER_RESET (ByVal SLIDE_AREA_ITEM ككائن ، ByVal SLIDER_ITEM ككائن)
SLIDE_AREA_ITEM.BackColor = COLOR_SLIDERAERA_DEFAULT_BACK
SLIDER_ITEM.BackColor = COLOR_SLIDER_DEFAULT_BACK
End Sub
'///////////////////////////////////////////////////// /////////////////////////////////////////
فرعي خاص HYPER_SEARCH (ByVal SEARCHTEXT كسلسلة)
أنا خافت طالما
خافت S وطول
خافت R طويلة
خافت X وطول
قاتمة FUSION_STRING كسلسلة
خافت HYPER_SEARCH (99) كسلسلة
خافت HYPER_SEARCH_MAX بالطول
خافت SPLIT_CACHE
تعتيم CONVERSION_CHECK على أنه منطقي
محو HYPER_SEARCH
CONVERSION_CHECK = خطأ
"//// إنشاء صفيف بحثي مفرط
إذا كان InStr (SEARCHTEXT، "*") & lt؛ & gt؛ 0 ثم
SPLIT_CACHE = انقسام (SEARCHTEXT ، "*")
لـ R = 0 إلى UBound (SPLIT_CACHE)
HYPER_SEARCH (R + 1) = SPLIT_CACHE (R)
HYPER_SEARCH_MAX = R + 1
التالي R
آخر
HYPER_SEARCH (1) = SEARCHTEXT
HYPER_SEARCH_MAX = 1
إنهاء إذا
"//// إنشاء صفيف بحثي مفرط
S = 0
إذا كان UBound (SELECT_ARRAY) & lt؛ 6 ثم
ReDim SELECT_SLIDE_ARRAY (6، 1)
آخر
ReDim SELECT_SLIDE_ARRAY (UBound (SELECT_ARRAY) ، 1)
إنهاء إذا
بالنسبة إلى I = 1 إلى UBound (SELECT_ARRAY)
إذا كان SELECT_ARRAY (I ، 1) & lt؛ & gt؛ "" ثم
FUSION_STRING = ""
FUSION_STRING = FUSION_STRING & amp؛ SELECT_ARRAY (I ، 1) & أمبير ؛ "|"
لـ R = 1 إلى HYPER_SEARCH_MAX
إذا كان InStr (LCase (FUSION_STRING) ، LCase (HYPER_SEARCH (R))) & lt؛ & gt؛ 0 ثم
CONVERSION_CHECK = صحيح
آخر
CONVERSION_CHECK = خطأ
خروج عن
إنهاء إذا
التالي R
إذا كان CONVERSION_CHECK = صحيح إذن
S = S + 1
بالنسبة إلى X = 1 إلى UBound (SELECT_ARRAY ، 2)
SELECT_SLIDE_ARRAY (S ، X) = SELECT_ARRAY (I ، X)
التالي X
إنهاء إذا
إنهاء إذا
بعدها انا
SELECT_SLIDE_ARRAY_MAX = S.
End Sub
شارك

