المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : حول اصدار حدث عند مرور الماوس على ListBox


ثامر أبو بلقيس
20-05-2016, 11:33 PM
السلام عليكم ورحمة الله وبركاته

بحاجة لاصدار حدث و هو ظهور Dialog يحتوي على محتوى الـ item data المقابل لأي عنوان
في عنصر ListBox وذلك عند مرور الماوس على العنوان
أي
عندما يمر الماوس على العنوان " بدون ضغط " يظهر Dialog المعبر على item data لكل عنوان مر عليه الماوس

شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية . :abc_138:

ياسرهتهت
21-05-2016, 03:10 AM
بسم الله الرحمن الرحيم
سؤال صعب جدا استاذي الكريم
وخصوصا ان عنصر اليست بكس لا يعترف بمرور الموس ؟
بالخدعة ممكن نضع فوق كل عنصر ليست بكسHotspot
يقوم بالمطلوب ؟؟؟؟؟

طبعا يمكن فعل ذالك اذا كانت عناصر اليست بكس قليلة وتظهر كلها في الصفحة ؟
اعرف انه حل تلفيقي ولكن هذا ما توصلت له
:abc_138::abc_138::abc_138:

ثامر أبو بلقيس
23-05-2016, 11:18 PM
بسم الله الرحمن الرحيم
سؤال صعب جدا استاذي الكريم
وخصوصا ان عنصر اليست بكس لا يعترف بمرور الموس ؟
بالخدعة ممكن نضع فوق كل عنصر ليست بكسHotspot
يقوم بالمطلوب ؟؟؟؟؟

طبعا يمكن فعل ذالك اذا كانت عناصر اليست بكس قليلة وتظهر كلها في الصفحة ؟
اعرف انه حل تلفيقي ولكن هذا ما توصلت له
:abc_138::abc_138::abc_138:

شكرا جزيلا :abc_138:
وخصوصا ان عنصر اليست بكس لا يعترف بمرور الموس ؟

سيعترف :abc_065:

ياسرهتهت
24-05-2016, 03:03 AM
شكرا جزيلا :abc_138:


سيعترف :abc_065:

-------------------------------------------
بسم الله الرحمن الرحيم
نتمنا ذالك استاذي الكريم

:abc_138::abc_138:
موفق بإذن الله ... لك مني أجمل تحية .

ثامر أبو بلقيس
25-05-2016, 01:00 PM
يرفع:abc_138:

ثامر أبو بلقيس
25-05-2016, 01:13 PM
السلام عليكم ورحمة الله وبركاته

أعجبني هذا الحل فأحببت قراءته :

01 - فعّل الاضافة : MemoryEx

02 - ضمّن التجميعة العناصر التالية :

* Label1
*ListBox1
----------------------------------------------
03 - في GLOBAL FUNCTIONS
ListBox.ItemFromPoint = function(sObjectName)
if (Application.GetCurrentPage() ~= '') then
if (Page.GetObjectType(sObjectName) ~= 9) then return -1; end
else
if (DialogEx.GetObjectType(sObjectName) ~= 9) then return -1; end
end
local hWnd = ListBox.GetProperties(sObjectName).WindowHandle;
local tMousePos = System.GetMousePosition(true, hWnd);

local lparam = Bitwise.Or(Bitwise.ASL(tMousePos.Y, 16), Bitwise.And(tMousePos.X, 0xFFFF));
local nItem = tonumber(DLL.CallFunction("user32.dll", "SendMessageA", hWnd..", 425, 0, "..lparam, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL));
if (Bitwise.ASR(nItem, 16) ~= 0) then return -1; end
return (nItem + 1);
end

04 - في حدث الصفحة ON MOUSE MOVE
local nItem = ListBox.ItemFromPoint('ListBox1');
if (nItem ~= -1) then
--
result = ListBox.GetItemData("ListBox1", nItem);
Label.SetText("Label1", result);
else
Label.SetText("Label1", "");
end


بالمعاينة كل ما مر الماوس على عنوان في Listbox سيظهر في Label1
ما قابل العنوان في جهة ItemData كإجراء إختياري

إشارة للموضوع مفيدة إن شاء الله :abc_138:

ياسرهتهت
25-05-2016, 03:11 PM
بسم الله الرحمن الرحيم
ابداع وتالق كالعادة استاذي الكريم
:abc_050::abc_050::abc_050:
:abc_051:اعترف اليست بالموس
موفق بإذن الله ... لك مني أجمل تحية .
:abc_138::abc_138::abc_138: