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

سؤال عن اسناد القيم للعناصر Static , Edit ,progress ؟

بدأه HaTy في 11 فبراير 2009 · 6 رد · 555 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

برنامجي به مصادر واقوم بتحميلها و اضهارها باستخدام الدالة DialogBox() ;

واستطيع تغيير النص في العناصر من النوع Edit باستخدام الدالة SetItemText() كالاتي:

SetDlgItemText(hwDlg,IDC_EDIT1,"This is My Edit Text");

ولكن لا يمكنني تغيير النص باستخدام نفس الدالة للعناصر من النوع Static مثلا

SetDlgItemText(hwDlg,IDC_STATIC,"This is my Static Text");

ايظا لم استطيع تغيير قيمة مؤشر التقدم Progress باستخدام الدالة SetDlgItemInt() كالاتي:

SetDlgItemInt(hwDlg,IDC_PROGRESS1 ,50,0);

اخيرا - لدي مصفوفة من النوع Byte "unsigned char" واريد اضهارها كارقام هيكس في عنصر Edit

void Buffer_Data(  int BufferLength, BYTE* myBuffer )
{
int i =0;
for (i=0; i < BufferLength; i++)
   {
   printf("%02X " , myBuffer ); // this prints myBuffer's hex values;
   }
// here i want to show myBuffer array as hex values in the control "IDC_EDIT1" .

}

مع شكري المسبق

تحياتي

while( "اسلام" )
{
 cout >> "الموت لبني صهيون" >> endl;
}
return "فلسطين";
#2

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

  1. CString ss="الفريق العربي";
  2. CStatic * pWnd=(CStatic *)GetDlgItem(IDC_STATIC);
  3. if (pWnd != NULL)
  4. pWnd->SetWindowText(ss);
  5.  

tvquran_6.gif

#3
اقتباس
ايظا لم استطيع تغيير قيمة مؤشر التقدم Progress باستخدام الدالة SetDlgItemInt() كالاتي:

الـProgress Bar له رسائل اخرى للتعامل معه غير المذكورة .

اولا تقوم بتحديد بتحديد المدى عن طريق ارسال PBM_SETRANGE32 .

بعد ذلك تحدد مقدار التقدم عن طريق PBM_SETSTEP .

الان اذا اردت ان يتقدم المؤشر قم بارسال الرسالة PBM_STEPIT .

كل الرسائل السابقة ستجد معلومات عن استخدامها في MSDN .

تم تعديل هذه المشاركة بواسطة GamingMasteR في 11 فبراير 2009 في 20:20

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#4

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

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

شكرا اخي GM على الرد و المساعدة

ما احتاجه عكس الدالة التي ارفقتها اي اني اريد التحويل من بايت الى هيكس ByteToHex

فمثلا لو عندي مصفوفة من البيانات من النوع Byte اريد تحويلها الى نص مكون من ارقام هيكس

حتى يمكنني ارسالها الى عنصر Edit باستخدام الدالة SetItemText()

مثلا

unsigned char stp[] ={115 ,116 ,250};
// here should be array conversion from byte to char or string
//then send the hex value to Edit1
SetDlgItemText(hwDlg,IDC_EDIT1,(char*)stp);

والناتج المفترض من المصفوفة السابقة والذي سيتم ارساله للعنصر Edit1

7374FA

ارجو ان تكون الفكرة وضحت

تحياتي

تم تعديل هذه المشاركة بواسطة haty في 11 فبراير 2009 في 20:59

while( "اسلام" )
{
 cout >> "الموت لبني صهيون" >> endl;
}
return "فلسطين";
#5

لقد ادركت ذلك قبل ان تقوم بكتابة الرد فقمت بتعديل ردي :D

عموما هناك طريقة سهلة سأكتبها لك اليوم لكن لا استطيع الان ، شكراً على تفهمك .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#6
  1. printf("%02X " , myBuffer[i] );
  2.  
  3.  

نفس الطريقه وبنفس الشكل مع متغير من النوع cstring

  1.  
  2. CString ss ;
  3. ss.Format("%c",stp[0]);
  4.  
  5.  
  6.  

الدالة format == printf

تم تعديل هذه المشاركة بواسطة فهدالشلوي في 11 فبراير 2009 في 21:49

tvquran_6.gif

#7

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

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

اخي Gm لا مشكلة take your time

اخي فهد برنامجي Non MFC Application لذلك لا يمكن استخدام CString

شكرا على مساعدتكم

تحياتي

while( "اسلام" )
{
 cout >> "الموت لبني صهيون" >> endl;
}
return "فلسطين";

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