الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة التحديد بالزر اليميني في TreeView

مغلق
بدأه Wael Dalloul في 9 نوفمبر 2005 · 2 رد · 612 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

في المثال المرفق يحتوي على TreeView مع Pupup menu

عند تغيير Level بالزر اليميني تبع Selected Node لا يشتعل الحدث OnChange

لماذا؟ و هل يوجد طريقة ما لفعل ذلك

TreeViewRightSelect.rar

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#2

مرحبا

أخي waeldalol إن الحث

OnChange يقدح عند الضغط

على زر الماوس الايسر والقائمة

Pupup menu تظهر عند النقر على زر الماوس الايمن

ولهذا لايقدح الحدث OnChange

ضع الكود في الحدث OnMouseUp مع

if Button = mbRight then

تم تعديل هذه المشاركة بواسطة M_Asize في 9 نوفمبر 2005 في 22:27

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#3

الحمد لله تم حل المشكلة

شكرا لك على المساعدة M_Asize

تم استخدام الحدث Oncontextpupup الذي يقدح عن الزر اليميني لتفعيل و عدم تفيل الأوامر في ال pupup menu

و استخدمت ايضا الحدث OnMouseDown معه لكي كي اقوم بتحديد ال Node

  if TreeView1.GetNodeAt(X, Y) <> nil then
  begin
    TreeView1.Selected := TreeView1.GetNodeAt(X, Y);
end;

وذلك لان الزر اليميني لا يحدد ال Node المعلمة

ويجب ايضا وضع الخاصية rightclickselect = false

لأن هذه الخاصية كانت تعمل مشكلة و عقدتني كثير و هي عند النقر على الزر اليميني لا يقدح الحدث Onmousedown

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

هذا الموضوع مغلق.

مواضيع مشابهة