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

مشاهدة النسخة كاملة : كيف يتحكم عنصر ScrollBar في عناصر خارج حجم الصفحة


عبد الهادي بهاب
12-02-2016, 11:32 AM
السلام عليكم ورحمة الله وبركاته

كيف يتحكم عنصر ScrollBar في عناصر خارج حجم الصفحة

في المشروع هناك عناصر و ليبالات خارج طول الصفحة
استعملت عنصر ScrolBar من اجل اظهارها
لكن لم انجح ...

http://c.top4top.net/p_42ohb41.png

هل فيه لقطة او كود ازرعه في العنصر ؟

تحياتي ؟؟:abc_152::abc_152:

ثامر أبو بلقيس
12-02-2016, 03:56 PM
وعليكم السلام ورحمة الله وبركاته
لو نفرض مثلا
اعدادت بليجين ScrollBar هكذا قلت مثلا :

http://store1.up-00.com/2016-02/145528336168231.jpg

ونزرع في on show
tSize = Window.GetSize(Application.GetWndHandle());

وفي عنصر ScrollBar في حدثه on PosChange
X = tSize.Width+e_Pos+1
Y = tSize.Height
Window.SetSize(Application.GetWndHandle(), X, Y);

أكون قد فهمت السؤال أم لا ؟ :abc_138:

عبد الهادي بهاب
14-02-2016, 08:07 PM
وعليكم السلام ورحمة الله وبركاته
لو نفرض مثلا
اعدادت بليجين scrollbar هكذا قلت مثلا :

http://store1.up-00.com/2016-02/145528336168231.jpg

ونزرع في on show
tsize = window.getsize(application.getwndhandle());

وفي عنصر scrollbar في حدثه on poschange
x = tsize.width+e_pos+1
y = tsize.height
window.setsize(application.getwndhandle(), x, y);

أكون قد فهمت السؤال أم لا ؟ :abc_138:

السلام عليكم ورحمة الله وبركاته
ارجو المعذة للغياب ........ الان لطلعت على الرد ........و ساعود استاذي .........شكرا

عبد الهادي بهاب
14-02-2016, 08:56 PM
السلام عليكم ورحمة الله وبركاته

الكود يزيد من عرض الصفحة . و ان غيرنا العرض سيزيد طول الصفحة

لكن طلبي ....... في كائن paragraph ان كان النص طويلا ........فان scrollbar سييمح برفع النص بحيث يظهر ماهو اسفل.......هو نفس الفكرة بحيث لما احرك هذا البليجين فان تظهر العناصر التي في الاسفل ........اي تتحكر كل العناصر الموجوة في الصفحة باتجاه الاعلى

عبد الهادي بهاب
14-02-2016, 08:58 PM
لاحظ المشروع المفتوح

http://up.top4top.net/downloadf-44ay6j1-rar.html

يسمح برفع الصور ........اي كيف نجعله يرفع كل الكائنات الموجودة في الصفحة

محاولة حاولت استعمال هذا الكود
object_names = Page.EnumerateObjects();

لكن لم افلح

تحياتي :abc_022::abc_022:

ثامر أبو بلقيس
15-02-2016, 12:06 AM
لا أملك البليجين PageScroller
:abc_100: حاول قد تصل لحلول :abc_138:

--- مانيش لا ڨيها ---

ياسرهتهت
15-02-2016, 12:59 AM
بسم الله الرحمن الرحيم
قديكون هذا المطلوب
http://up.top4top.net/downloadf-44mnik1-rar.html

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

عبود عبود
15-02-2016, 08:26 AM
السلام عليكم ورحمة الله وبركاته

تعامل مع المواقع pos وليس مع الحجم size

قم بكتابة كود يعمل على زيادة أو نقصان فى مكان العنصر " pos " أى كلما زاد عنصر السكرول بار يزيد فى مواقع البى أو اس للعناصر جميعا أو العكس وهنا سوف تضع الكود فى عنصر السكرول بار .

وطبعا الزيادة أو النقصان هى تحريك للعناصر من مكانها إلى مكان جديد وطبعا سوف تكون الزيادة أو النقصان فى الموضع الرأسى وليس فى الأفقى كل عنصر له موضع "pos" رأسى وأفقى مثال :

result = xButton.GetProperties("xButton1");

هذه الدالة السابقة ترجع بعدة خصائص للعنصر إكس بوتون منها الموضع الرأسى للعنصر والموضع الأفقى
لمعرفة الموضع الرأسى سيكون الناتج عبارة عن :

result.Y

لاحظ الحرف Y حرف كبير كابيتل .

لمعرفة الموضع الأفقى سيكون الناتج عبارة عن :

result.X

لاحظ الحرف X حرف كبير كابيتل .


تجد كود الإستعلام هذا السابق " أى كود يحتوى على كلمة Get هو كود إستعلامى " موجود مع معظم العناصر

ولبعض العناصر التى لا تتضمن مثل هذا الكود يتم التعامل معها بكود الإستعلام عن المواقع " الرأسى والأفقى " بالكود التالى :

result = Plugin.GetPos("Plugin1");

وطبعا لإصدار أمر التغيير للمواقع سوف تبحث عن كود يحتوى على كلمة Set بدلا من Get

وطبعا تجدة أيضا هنا وهناك " بالنسبة لما ذكرته سابقا فى الحالتين "

بعد ما سبق هل يمكن الإستفادة من الحدث "On PosChange" فى عنصر السكرول بار ؟
طبعا بعد الضبط من خصائص العنصر على الوضع الرأسى وضبط مقدار التحريك من وإلى من خصائص العنصر كما وضح أبوبلقيس

:abc_152:

ثامر أبو بلقيس
15-02-2016, 06:44 PM
سأحاول كتابة محاولة فاشـــلة :abc_138: المهم المشاركة :abc_138:

01 - حمل المشروع الموجود في المشاركة 5

02 - امسح الأكواد الموجودة في on show

03 - امسح الأكواد الموجودة في العنصر ScrollBar

---------------------------------------------------------------------------

نقوم الان بالاتي :
01 - تفعيل البليجين Group
02 - نضم كل عناصر التجميعية في Group واحد و نستثني فقط عنصر التحريك
أي في on show
for nIndex, sObject in pairs(Page.EnumerateObjects()) do
if sObject ~="Plugin1" then
Group.AddObject("Group1", sObject);
end
end


03 - نتوجه لعنصر ScrollBar ونزرع فيه :
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, -e_Pos)

انتهى اذا لاحظت أن الزحلقة غير كافية للوصول إلى انحدار أشد
يمكنك التعديل في خصائص العنصر ذاته برفع أو خفظ قيمة ScrollBar range


سلام .... محاولة فاشلة أو ناجحة المهم محاولة بالتوفيق :abc_138:

عبود عبود
15-02-2016, 07:10 PM
يمكن تحميل المرفق أيضا


:abc_152:

عبد الهادي بهاب
15-02-2016, 09:14 PM
السلام عليكم ورحمة الله وبركاته

تعامل مع المواقع pos وليس مع الحجم size

قم بكتابة كود يعمل على زيادة أو نقصان فى مكان العنصر " pos " أى كلما زاد عنصر السكرول بار يزيد فى مواقع البى أو اس للعناصر جميعا أو العكس وهنا سوف تضع الكود فى عنصر السكرول بار .

وطبعا الزيادة أو النقصان هى تحريك للعناصر من مكانها إلى مكان جديد وطبعا سوف تكون الزيادة أو النقصان فى الموضع الرأسى وليس فى الأفقى كل عنصر له موضع "pos" رأسى وأفقى مثال :

result = xbutton.getproperties("xbutton1");

هذه الدالة السابقة ترجع بعدة خصائص للعنصر إكس بوتون منها الموضع الرأسى للعنصر والموضع الأفقى
لمعرفة الموضع الرأسى سيكون الناتج عبارة عن :

result.y

لاحظ الحرف y حرف كبير كابيتل .

لمعرفة الموضع الأفقى سيكون الناتج عبارة عن :

result.x

لاحظ الحرف x حرف كبير كابيتل .


تجد كود الإستعلام هذا السابق " أى كود يحتوى على كلمة get هو كود إستعلامى " موجود مع معظم العناصر

ولبعض العناصر التى لا تتضمن مثل هذا الكود يتم التعامل معها بكود الإستعلام عن المواقع " الرأسى والأفقى " بالكود التالى :

result = plugin.getpos("plugin1");

وطبعا لإصدار أمر التغيير للمواقع سوف تبحث عن كود يحتوى على كلمة set بدلا من get

وطبعا تجدة أيضا هنا وهناك " بالنسبة لما ذكرته سابقا فى الحالتين "

بعد ما سبق هل يمكن الإستفادة من الحدث "on poschange" فى عنصر السكرول بار ؟
طبعا بعد الضبط من خصائص العنصر على الوضع الرأسى وضبط مقدار التحريك من وإلى من خصائص العنصر كما وضح أبوبلقيس

:abc_152:


شرح شاف و كاف استاذنا الكريم........ ساحاول تطبيقه حالا .......شكرا جزيلا

عبد الهادي بهاب
15-02-2016, 09:24 PM
سأحاول كتابة محاولة فاشـــلة :abc_138: المهم المشاركة :abc_138:

01 - حمل المشروع الموجود في المشاركة 5

02 - امسح الأكواد الموجودة في on show

03 - امسح الأكواد الموجودة في العنصر ScrollBar

---------------------------------------------------------------------------

نقوم الان بالاتي :
01 - تفعيل البليجين Group
02 - نضم كل عناصر التجميعية في Group واحد و نستثني فقط عنصر التحريك
أي في on show
for nIndex, sObject in pairs(Page.EnumerateObjects()) do
if sObject ~="Plugin1" then
Group.AddObject("Group1", sObject);
end
end


03 - نتوجه لعنصر ScrollBar ونزرع فيه :
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, -e_Pos)

انتهى اذا لاحظت أن الزحلقة غير كافية للوصول إلى انحدار أشد
يمكنك التعديل في خصائص العنصر ذاته برفع أو خفظ قيمة ScrollBar range


سلام .... محاولة فاشلة أو ناجحة المهم محاولة بالتوفيق :abc_138:

روعة ............تمت التجربة بنجاح ..........و معلومة جديدة حول دور البلجين group ربي يجازيك ........اختصار كبير للبحث عن العناصر .......سيتم توظيفها حالا

عبد الهادي بهاب
15-02-2016, 10:48 PM
شكرا جزيلا على المساعدة الجليلة

متابعة للموضوع ................ كيف اجعل هذا العنصر SCrollBar يعمل مع عجلة الماوووس ؟؟؟؟؟؟؟؟

ثامر أبو بلقيس
15-02-2016, 10:58 PM
أنا لا أعرف متابع معك لأتعلم إن شاء الله :abc_138:

عبد الهادي بهاب
15-02-2016, 11:00 PM
وجدت هذه المشاركة للاساتذ عبود

http://www.abc4web.net/vb/showthread.php?t=31019

عبد الهادي بهاب
15-02-2016, 11:06 PM
أنا لا أعرف متابع معك لأتعلم إن شاء الله :abc_138:

هذه محاولة لكنها فاشلة

في On Mouse Wheel "


e_Pos = ScrollBar.GetScrollBarPos("Plugin1");

if e_Delta==120 then
e_Pos = e_Pos + 10
ScrollBar.SetScrollBarPos("Plugin1", e_Pos, false);
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, e_Pos) ;
elseif e_Delta==(-120) then
e_Pos = e_Pos -10
ScrollBar.SetScrollBarPos("Plugin1", e_Pos, false);
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, e_Pos)
end

ثامر أبو بلقيس
15-02-2016, 11:29 PM
و أنا واش شدني على محاولة فاشلة :abc_139:

في on show
for nIndex, sObject in pairs(Page.EnumerateObjects()) do
if sObject ~="Plugin1" then
Group.AddObject("Group1", sObject);
end
end
e_Pos=1

في On Mouse Wheel
if e_Delta==-120 then
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, -e_Pos)
e_Pos=e_Pos+20
else
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, -e_Pos)
e_Pos=e_Pos-20
end
ScrollBar.SetScrollBarPos("Plugin1", e_Pos, false);

:abc_138:اضحك و لا زيد اضحك :abc_138:

عبد الهادي بهاب
16-02-2016, 12:04 AM
و أنا واش شدني على محاولة فاشلة :abc_139:

في on show
for nIndex, sObject in pairs(Page.EnumerateObjects()) do
if sObject ~="Plugin1" then
Group.AddObject("Group1", sObject);
end
end
e_Pos=1

في On Mouse Wheel
if e_Delta==-120 then
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, -e_Pos)
e_Pos=e_Pos+20
else
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, -e_Pos)
e_Pos=e_Pos-20
end
ScrollBar.SetScrollBarPos("Plugin1", e_Pos, false);

:abc_138:اضحك و لا زيد اضحك :abc_138:

فيها مشكل ........يعمل في اتجاه واحد

الكود الذي وضعته يمشي في الاتجاهين

و زيد ضحك :abc_156::abc_156:

ثامر أبو بلقيس
16-02-2016, 12:14 AM
يعمل أو ما يعملش راني رايح نغلق الاوتوبلاي
ما نيش قادر نزيد نفكر في حاجة :abc_138:
و لا زدت محاولة رايح يكون هذه المرة ثلاثي أبعاد و يمشي السكرول
بطريقة ما تلقالهاش حل باش يحبس :abc_138:

ياسرهتهت
16-02-2016, 01:32 PM
سأحاول كتابة محاولة فاشـــلة :abc_138: المهم المشاركة :abc_138:

01 - حمل المشروع الموجود في المشاركة 5

02 - امسح الأكواد الموجودة في on show

03 - امسح الأكواد الموجودة في العنصر ScrollBar

---------------------------------------------------------------------------

نقوم الان بالاتي :
01 - تفعيل البليجين Group
02 - نضم كل عناصر التجميعية في Group واحد و نستثني فقط عنصر التحريك
أي في on show
for nIndex, sObject in pairs(Page.EnumerateObjects()) do
if sObject ~="Plugin1" then
Group.AddObject("Group1", sObject);
end
end


03 - نتوجه لعنصر ScrollBar ونزرع فيه :
Group.SetRectPos("Group1", Group.GetRectPos("Group1").X, -e_Pos)

انتهى اذا لاحظت أن الزحلقة غير كافية للوصول إلى انحدار أشد
يمكنك التعديل في خصائص العنصر ذاته برفع أو خفظ قيمة ScrollBar range


سلام .... محاولة فاشلة أو ناجحة المهم محاولة بالتوفيق :abc_138:

--------------------------------
بسم الله الرحمن الرحيم

جازك الله كل خير استاذنا الفاضل

محاولة ناجحة 100% واضافة معلومة جديدة
استخدام بلجن
Group

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

عظيمه
16-02-2016, 04:03 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عبدوعزيز
04-11-2017, 02:36 PM
بارك الله فيك

محمد رمضان أبو يوسف
30-06-2018, 05:52 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عفيف مصطفى
22-02-2019, 11:36 PM
جزاكم الله خيرا