رمضان كريم عليكم اخواني
أما بعد
عندي استفسار عن اسم الدالة التي تقوم بعملية فحص حالة الزر هل مضغوط ام غير مضغوط
هل توجد دالة تقوم بهذه العملية واذا وجدت هذه الدالة ممكن اسمها والشكل الرسمي لها
اخوكم
شاب حباب
رمضان كريم عليكم اخواني
أما بعد
عندي استفسار عن اسم الدالة التي تقوم بعملية فحص حالة الزر هل مضغوط ام غير مضغوط
هل توجد دالة تقوم بهذه العملية واذا وجدت هذه الدالة ممكن اسمها والشكل الرسمي لها
اخوكم
شاب حباب
السلام عليكم,
أضن أن ك تقصد بحالة ضغط الأزرار ازرار مثل radiobutton أو chackbutton وإذا كان الزر العادي يعني أن ننقر على الزر ونبقى ضاغطين.فإذا كنت تستعمل مكتبات MFC فعندك عدة دوال تقوم بهذا والعامة منها أضن أنها هي :
CButton::GetState
وهذه الدالة لا تأخذ أي بارامتر وهي ترجع لنا قيمة من نوع UINT .وعلى هذه القيمة يمكن أن نعمل عليها عدة ماسكات لنحدد حال الزر ويمكن أن نشاهد مختلف هذه الماسكات في مكتبة MSDN . فمثلا لو نقوم بالماسك 0x0003 فالنتيجة 1 تعني أن الزر قد اختير وفي الحالة الأخرى لا . وهذا نص من المكتبة :
اقتباسCButton::GetStateUINT GetState( ) const;
Return Value
Specifies the current state of the button control. You can use the following masks against the return value to extract information about the state:
Mask Meaning
0x0003 Specifies the check state (radio buttons and check boxes only). A 0 indicates the button is unchecked. A 1 indicates the button is checked. A radio button is checked when it contains a bullet (). A check box is checked when it contains an X. A 2 indicates the check state is indeterminate (three-state check boxes only). The state of a three-state check box is indeterminate when it contains a halftone pattern.
0x0004 Specifies the highlight state. A nonzero value indicates that the button is highlighted. A button is highlighted when the user clicks and holds the left mouse button. The highlighting is removed when the user releases the mouse button.
0x0008 Specifies the focus state. A nonzero value indicates that the button has the focus.
Remarks
Retrieves the state of a radio button or check box.
كما يمكن أن نستعمل الدالة : int GetCheck( ) وهذه تعطينا مباشرة 0 إذا لم نختر الزر و 1 في الحالة الأخرى .
وإذا كنا لا نستعمل مكتبة MFC يجب أن نستعمل صيغة هذه الدوال على نحو رسائل وذلك بإرسال رسالة من نوع BM_GETSTATE المقابل للحالة الأولى أو الرسالة BM_GETCHECK المقابل للحالة الثانية.
إلى اللقاء.
تمام جدا ,,
اضافة اذا كنت تقصد الضغط على زر في الكيبورد من الكونسول فقط ,, عليك بالدالة :
char c; c= getch(); if(c=='a') cout<<"You clicked a" . . .
وهكذا فقط بتحسس الدالة getch()
سلام ...
هذه صراحة اول مشاركة لي
في دالة في سي بلس بلس اذا تم ضغط لوحة المفاتيح ام لا وهي
kbhit() -RETURN TRUE IF THE KEYBOARD IS HIT
مثلا تريد لووب تضل ماشية حتى يتم الضغط على اي مفتاح :
while(!kbhit)
}
DO ANYTHING YOU WANT HERE
}
لن تتوقف حتى ينقر اي مفتاح
السلام عليكم اخواني
والله احب اشكركم على ردودكم
--------------------------------------------
chik
اخوية كلامك على الفيجوال سي واني اشتغل في السي ++ تحت نظام الدوز
-------------------------------------------
HGB
شووف استاذي كلامك حلوو اني اختبر زر كيبورد بس اني مااريد اضغط على الزر واشووفة
انضغط ولا لا
اني اريد دالة هية تشووف الزر مضغوط ولا مو مضغووط بنفس الوقت
--------------------------------------------
WOW
شووف هاذي الدالة جربتهة بس هاذي الدالة تشووف اذا كان الكيبور مضغوط على اي زر فيه يعني
اني اريد دالة مثلها بس اني اعطيها الزر اللي اريد الدالة تختبرة مضغوط ولا لا
--------------
اتمنى تكونون فهمتوو قصدي
واني اسف تعبتكم معاية
أخوكم
شاب حباب
أعتقد إنك تقصد الدالة GetAsyncKeyState
لاحظ :
مثال لإختبار مفتاح F1 في لوحة المفاتيح
if(GetAsyncKeyState(VK_F1)==-32767)
{
مفتاح إف1 مضغوط
}مفتاح Shift
if(GetAsyncKeyState(VK_SHIFT)==-32767)
{
مفتاح شفت مضغوط
}وهكذا مع كل المفاتيح
مثال مفاتيح الأسهم:
-
*************************************************
مجموعة مواضيع - إحتراف البرمجة -
ّ~~~~~~~~~~~~~~~~~~~~~~
البرمجة المتقدمة & الهندسة العكسية & برمجة وأمن الأنظمة
آخر المواضيع :
أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات
ثغرة SMS لأجهزة الجوال Siemens 3568i !
أخطاء وثغرات البرامج العربية !!!
سلسلة مواضيع - أمن وحماية مواقع الويب -
E البرمجة المتقدمة X للملفات التنفيذية E
سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة
**************************************************
<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>
**************************************************
مرحبا شباب
اخوي جاس شوف اني دراستي كلهة تحت نظام الدوووز يعني مشايفين الويندووز
فة الدالة اللي جبتهة انتة صحيحة بالفيجوال سي وتشتغل حلووو
بس بالسي ++ اندر دوووز ماتشتغل ويطلب مني الكومبايلر الهيدر فايل حق الدالة هاذي
وطبعا دورت عليه مالقيتة
لو في اي دالة مثلهة تشتغل بالسي ++ اندر دووز ممكن
واذا ممكن اضيف الهيدر فايل حقها الى مجلد الهيدر فايل في لغتي اندر دوووز
وتشتغل بس ايضا مااعرف منين اجيب الهيدر فايل حقها
ارجووو المساعدة
اخوكم
شاب حباب
:)))
صحيح الرقم 32767- شنو قصتة وعلى شنو يدل وليش هالرقم بالذات
اخوك شاب حباب
هذا الموضوع مغلق.