السلام عليكم
لدي dialog في vs c++ 2005 ومعرف داخله object من نوع CClientDC حتى ارسم عن طريقة
اريد ان اخذ احداثيات ال x و y عندما يقوم المستخدم بالضغط داخل ال dialog
كيف ؟
السلام عليكم
لدي dialog في vs c++ 2005 ومعرف داخله object من نوع CClientDC حتى ارسم عن طريقة
اريد ان اخذ احداثيات ال x و y عندما يقوم المستخدم بالضغط داخل ال dialog
كيف ؟
استخدمت ال Messages لكنه وضع دالة جديدة !
اريد عندما يقوم بالضغط مرتين باليسار اخذ احداثيات النقطة point و اسنادها الى متغير global مثلا من نفس النوع ، ثم طباعة الاحداثي x و y
واريد هذا الشيء ان يتكرر وان يحدث كلما ضغطت مرتين باليسار
مع ملاحظة ان طباعة الاحداثيات لا يتم في نفس دالة OnLButtonDblClk ، بل في دالة اخرى في نفس الملف ومن نفس class وهو dialog
لا ادري ان كان سؤالي صعب لهذه الدرجة :S
الدالة الاولى وهي الي تقوم بالتقاط احداثيات الماوس عند الضغط مرتين :
void MyDlg::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
p = point;
CDialog::OnLButtonDblClk(nFlags, point);
}فقط تقوم باسناد قيمة النقطة الى المتغير ال global كما هو واضح p
لا يمكن تغير void الى CPoint لانه لا يقبل بذلك
الدالة الثانية والتي اريد ان اطبع من خلالها الاحداثي x كلما قمت بالضغط مرتين باليسار :
void MyDlg::OnBnClickedStart()
{
int x = p.x;
CString temp;
temp.Format(_T("%d"), x);
MessageBox(temp);
{uppppppppppppp
void CdlgDlg::OnLButtonDblClk(UINT nFlags, CPoint point)
{
CClientDC dc(this);
dc.MoveTo(point);
dc.LineTo(m_pnt);
m_pnt = point;
CDialog::OnLButtonDblClk(nFlags, point);
}( _ /)
(='.'=)
(")-(")
قرأت سؤالك كثيرا ولم أفهم ما المطلوب الضبط؟
أنت تضع سؤال وتجيب غليه بالكود/
على كل، اذا كنت تقصد الكتابة على النافذة نفسها فاستخدم الدالة Textout أو ربما OutText
garo
شكرا لك على الرد
دالة OnLButtonDblClk اريدها فقط ان تخزن قيمة point في متغير global ، ويكون هناك دالة اخرى في نفس class تقوم باستخدام هذا المتغير ال global وتستخرج منه الاحداثي x & y
اسماعيل ابراهيم
نعم ، الكود الذي وضعته هو الجواب ، لكنه لا يعمل 100% ، المفروض انه عندما اقوم بالضغط على الزر الايسر للفأره فان الكود الموجود داخل دالة OnBnClickedStart يبدأ العمل ، مع ملاحظة ان الكود الموجود داخل دالة OnBnClickedStart هو لطباعة الاحداثي x عن طريق استخدام MessageBox .
again, up :(
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…