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

سؤال في البرمجة في الوين 32

بدأه mandareka في 2 ديسمبر 2008 · 11 رد · 791 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخواني الأعزاء

أقوم بعمل برنامج على الفيجوال سي++

في الوين 32 (ليس MFC ولا .Net)

ولكنني لم أستطيع التقاط الأحداث الخاصة بالماوس من قبل ال PushButton

مع أنني أستطيع فعل ذلك مع الفيجوال بيسك ومع الفيجوال سي ++ دوت نت

بإختصار لا استطيع التقاط كافة الأحداث من قبل الأدوات مثل WM_MOUSEMOVE

مع أنني أستطيع التقاط كافة الأحداث في الفيجوال بيسك

فهل الفيجوال بيسك أقوي من الفيجوال سي++ في برمجة النوافذ

ملاحظة(( لا تطرحوا علي الMFC أو الدوت نت)) فقط وين 32

دولة الخلافة الاسلامية في المخاض الاخير وميلادها قريب

حزب التحرير : التزم الطريق الصحيح الشرعي الوحيد لاعادة دولة الخلافة الاسلامية .

الامة الاسلامية متعطشة لقيادة مخلصة لتذوق حلاوة النصر ولن يكون ذلك الا بعودة الخلافة الاسلامية

الامة الاسلامية تحتاج لاحداث تسحقها سحقا وتمعسها معسا لتفكر تفكيرا جماعيا بالتغير لان وحدة المشاعر لوحدها لاتكفي وهذة الاحداث كلها خير

#2
مرجع صغير وسريع وقوي
tvquran_6.gif

#3

لقد قرأته من زمان ولم أستفيد

أرجو منك أن تلخص لي طلبي في عدة أسطر

دولة الخلافة الاسلامية في المخاض الاخير وميلادها قريب

حزب التحرير : التزم الطريق الصحيح الشرعي الوحيد لاعادة دولة الخلافة الاسلامية .

الامة الاسلامية متعطشة لقيادة مخلصة لتذوق حلاوة النصر ولن يكون ذلك الا بعودة الخلافة الاسلامية

الامة الاسلامية تحتاج لاحداث تسحقها سحقا وتمعسها معسا لتفكر تفكيرا جماعيا بالتغير لان وحدة المشاعر لوحدها لاتكفي وهذة الاحداث كلها خير

#4

شباب!

الله يخليكوا ما تنسوني

دولة الخلافة الاسلامية في المخاض الاخير وميلادها قريب

حزب التحرير : التزم الطريق الصحيح الشرعي الوحيد لاعادة دولة الخلافة الاسلامية .

الامة الاسلامية متعطشة لقيادة مخلصة لتذوق حلاوة النصر ولن يكون ذلك الا بعودة الخلافة الاسلامية

الامة الاسلامية تحتاج لاحداث تسحقها سحقا وتمعسها معسا لتفكر تفكيرا جماعيا بالتغير لان وحدة المشاعر لوحدها لاتكفي وهذة الاحداث كلها خير

#5

جربت الـ Subclassing ؟

#6

ضع كود النافذة الرئيسية window procedure وسأقوم بتعديله لك .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#7

السلام عليكم

أرفقت في المشاركة

برنامج على VC++ 6

Mohammad.rar

دولة الخلافة الاسلامية في المخاض الاخير وميلادها قريب

حزب التحرير : التزم الطريق الصحيح الشرعي الوحيد لاعادة دولة الخلافة الاسلامية .

الامة الاسلامية متعطشة لقيادة مخلصة لتذوق حلاوة النصر ولن يكون ذلك الا بعودة الخلافة الاسلامية

الامة الاسلامية تحتاج لاحداث تسحقها سحقا وتمعسها معسا لتفكر تفكيرا جماعيا بالتغير لان وحدة المشاعر لوحدها لاتكفي وهذة الاحداث كلها خير

#8
 

[color= #0000ff;]case WM_MOUSEMOVE[color= #000000;]:

[color= #000000;]{

    TCHAR strpoint[color= #000000;][[color= #ff0000;]128[color= #000000;]];

    POINTS point [color= #000000;]= [color= #000000;]*[color= #000000;](POINTS[color= #000000;]*[color= #000000;])[color= #000000;]&lParam;

    _stprintf[color= #000000;](strpoint, TEXT[color= #000000;]([color= #A31515;]"Mohammad :: X = %d | Y = %d"[color= #000000;]), point.[color= #808000;]x, point.[color= #808000;]y[color= #000000;]);

    SetWindowText[color= #000000;](hWnd, strpoint[color= #000000;]);

    break;

[color= #000000;]}

[color= #0000ff;]case WM_LBUTTONDOWN[color= #000000;]:

[color= #000000;]{

    MessageBox[color= #000000;](hWnd, TEXT[color= #000000;]([color= #A31515;]"WM_LBUTTONDOWN"[color= #000000;]), TEXT[color= #000000;]([color= #A31515;]"WM_LBUTTONDOWN"[color= #000000;]), MB_ICONINFORMATION[color= #000000;]);

    break;

[color= #000000;]};

[color= #0000ff;]case WM_MBUTTONDOWN[color= #000000;]:

[color= #000000;]{

    MessageBox[color= #000000;](hWnd, TEXT[color= #000000;]([color= #A31515;]"WM_MBUTTONDOWN"[color= #000000;]), TEXT[color= #000000;]([color= #A31515;]"WM_MBUTTONDOWN"[color= #000000;]), MB_ICONINFORMATION[color= #000000;]);

    break;

[color= #000000;]};

[color= #0000ff;]case WM_RBUTTONDOWN[color= #000000;]:

[color= #000000;]{

    MessageBox[color= #000000;](hWnd, TEXT[color= #000000;]([color= #A31515;]"WM_RBUTTONDOWN"[color= #000000;]), TEXT[color= #000000;]([color= #A31515;]"WM_RBUTTONDOWN"[color= #000000;]), MB_ICONINFORMATION[color= #000000;]);

    break;

[color= #000000;]};

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#9

مشكور كتير كتير على هالمجهود

ولكن،،

هذا الحل غير صحيح لأنه ينطبق على النافذة الرئيسية فقط

انا اريد الحل على PushButton

Button

تم تعديل هذه المشاركة بواسطة mandareka في 4 ديسمبر 2008 في 15:42

دولة الخلافة الاسلامية في المخاض الاخير وميلادها قريب

حزب التحرير : التزم الطريق الصحيح الشرعي الوحيد لاعادة دولة الخلافة الاسلامية .

الامة الاسلامية متعطشة لقيادة مخلصة لتذوق حلاوة النصر ولن يكون ذلك الا بعودة الخلافة الاسلامية

الامة الاسلامية تحتاج لاحداث تسحقها سحقا وتمعسها معسا لتفكر تفكيرا جماعيا بالتغير لان وحدة المشاعر لوحدها لاتكفي وهذة الاحداث كلها خير

#10

ظننت ذلك أيضاً في أول الأمر, استخدم الـSubclassing كما اشار الأخ .

سأقوم بوضع مثال بعد قليل .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#11

قم اولا بتعريف متغير للـWindowProcedure القديم للزر :

WNDPROC PreviousButtonWindowProc;

في حدث الـCreation :

[color= #0000ff;]case WM_CREATE[color= #000000;]:

[color= #000000;]{

    button[color= #000000;]=CreateWindowEx[color= #000000;]([color= #ff0000;]0,[color= #A31515;]"button",[color= #A31515;]"Click me!",WS_VISIBLE[color= #000000;]|WS_CHILD[color= #000000;]|BS_PUSHBUTTON,[color= #ff0000;]50,[color= #ff0000;]50,[color= #ff0000;]80,[color= #ff0000;]30,
hWnd,[color= #ff0000;]0,hInst,[color= #ff0000;]0[color= #000000;]);

    PreviousButtonWindowProc [color= #000000;]= [color= #000000;](WNDPROC[color= #000000;])SetWindowLongPtr[color= #000000;](button, GWLP_WNDPROC, [color= #000000;](LONG_PTR[color= #000000;])Button
WindowProc[color= #000000;]);

    break;

[color= #000000;]}

اضف الـWindowProcedure الجديد الخاص بالزر :

LRESULT CALLBACK ButtonWindowProc[color= #000000;](HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam[color= #000000;])

[color= #000000;]{

    [color= #0000ff;]switch [color= #000000;](uMsg[color= #000000;])

    [color= #000000;]{

    [color= #0000ff;]case WM_MOUSEMOVE[color= #000000;]:

        [color= #000000;]{

            [color= #007f00;]// put your code here !

            break;

        [color= #000000;]};

    [color= #0000ff;]case WM_RBUTTONDOWN[color= #000000;]:

        [color= #000000;]{

            MessageBox[color= #000000;](hwnd, TEXT[color= #000000;]([color= #A31515;]"WM_RBUTTONDOWN"[color= #000000;]), TEXT[color= #000000;]([color= #A31515;]"WM_RBUTTONDOWN"[color= #000000;]), MB_ICONINFORMATION
[color= #000000;]);

            break;

        [color= #000000;]};

    [color= #0000ff;]default[color= #000000;]:

        [color= #0000ff;]return CallWindowProc[color= #000000;](PreviousButtonWindowProc, hwnd, uMsg, wParam, lParam[color= #000000;]);

    [color= #000000;]};

    [color= #0000ff;]return false;

[color= #000000;]};

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#12

خيو،،

والله انك عندي اغلى من الدهب

الف شكر الك

حبيب البي

تم تعديل هذه المشاركة بواسطة mandareka في 4 ديسمبر 2008 في 22:46

دولة الخلافة الاسلامية في المخاض الاخير وميلادها قريب

حزب التحرير : التزم الطريق الصحيح الشرعي الوحيد لاعادة دولة الخلافة الاسلامية .

الامة الاسلامية متعطشة لقيادة مخلصة لتذوق حلاوة النصر ولن يكون ذلك الا بعودة الخلافة الاسلامية

الامة الاسلامية تحتاج لاحداث تسحقها سحقا وتمعسها معسا لتفكر تفكيرا جماعيا بالتغير لان وحدة المشاعر لوحدها لاتكفي وهذة الاحداث كلها خير

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