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

[ تمت الإجابة ]ممكن درس أو مساعدة حول انشاء أزرار وقوائم والتحكمات الشائعة أثناء تنفيذ البرنامج

مغلق
بدأه 852147 في 21 يوليو 2008 · 4 رد · 1,813 مشاهدة · في أرشيف قسم Windows APIs
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

من العنوان كل شيئ واضح ممكن تشرحو لي كيف انشئ

تحكمات أثناء تنفيذ البرمج باستخدام الكود وبدون resources

أنا استخدم c++

وبالتحديد win 32 project (empty project)

#2

بالنسبة للبرمجة بـ Win32API قبل أن تضع أي سؤال عليك الرجوع إلى MSDN ففيها ما يكفي .

راجع CreateWindowEx جيداً و أقرأ كل كلمة كتبت هنا

http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx

بالنسبة للـ Buttons فستجد شرح كامل لها في MSDN فيه هذا الجزء

http://msdn.microsoft.com/en-us/library/bb775949(VS.85).aspx

وجود كتاب واحد على الأقل في هذا المجال ضروري أيضاً.

إذاً قبل أي سؤال لا بد أن تكون لديك معلومات كافية في الموضوع . أعني أن تكون قرأت عن الموضوع مسبقاً.

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#3

شكرا جزيلا

#4

اذا كت مبتدئ فأنصحك بدروس الاخ الشمري الموجودة في المنتدى ، ستفيدك .

وكما قال اخي cipher ، ال MSDN افضل ما موجود بهذ المجال .

Cipher .. تحياتي لك :salam:

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#5

مثال بسيط بدلفي :lol:

CreateWindowEx_Dephi_Example.zip

program Prog[color= #339933;];

 

uses

  Windows[color= #339933;],

  Messages[color= #339933;];

 

[color= #000000; font-weight: bold;]var

  WinClass[color= #339933;]: TWndClassA[color= #339933;];

  Screenheight[color= #339933;], Screenwidth[color= #339933;]: Integer[color= #339933;];

  Inst[color= #339933;], Handle[color= #339933;], Label1 [color= #339933;]: Integer[color= #339933;];

  Msg[color= #339933;]: TMsg[color= #339933;];

  hFont[color= #339933;]: Integer[color= #339933;];

 

[color= #000000; font-weight: bold;]function WindowProc[color= #009900;](hWnd[color= #339933;], uMsg[color= #339933;],	wParam[color= #339933;],	lParam[color= #339933;]: Integer[color= #009900;])[color= #339933;]: Integer[color= #339933;]; stdcall[color= #339933;];

begin

 

  [color= #b1b100;]case

  uMsg of WM_DESTROY[color= #339933;]: begin

                      PostQuitMessage [color= #009900;]([color= #cc66cc;]0[color= #009900;])[color= #339933;];

                      halt[color= #339933;];

                      [color= #990000;]end[color= #339933;];

  [color= #990000;]end[color= #339933;];

 

  Result [color= #339933;]:= DefWindowProc[color= #009900;](hWnd[color= #339933;], uMsg[color= #339933;], wParam[color= #339933;], lParam[color= #009900;])[color= #339933;];

[color= #990000;]end[color= #339933;];

 

begin

 

 Inst [color= #339933;]:= hInstance[color= #339933;];

 with WinClass [color= #b1b100;]do

  begin

    style              [color= #339933;]:= CS_HREDRAW or CS_VREDRAW[color= #339933;];

    lpfnWndProc        [color= #339933;]:= [color= #339933;]@WindowProc[color= #339933;];

    hInstance          [color= #339933;]:= Inst[color= #339933;];

    hbrBackground      [color= #339933;]:= color_btnface [color= #339933;]+ [color= #cc66cc;]1[color= #339933;];

    lpszClassname      [color= #339933;]:= [color= #0000ff;]'Prog'[color= #339933;];

    hCursor            [color= #339933;]:= LoadCursor[color= #009900;]([color= #cc66cc;]0[color= #339933;], IDC_ARROW[color= #009900;])[color= #339933;];

    hIcon[color= #339933;]:= LoadIcon[color= #009900;]([color= #cc66cc;]0[color= #339933;], IDI_APPLICATION[color= #009900;])[color= #339933;];

  [color= #990000;]end[color= #339933;];

 

 RegisterClass[color= #009900;](WinClass[color= #009900;])[color= #339933;];

 

 Screenheight [color= #339933;]:= GetSystemMetrics[color= #009900;](sm_CYScreen[color= #009900;]) div [color= #cc66cc;]2 [color= #339933;]- [color= #cc66cc;]51[color= #339933;];

 Screenwidth  [color= #339933;]:= GetSystemMetrics[color= #009900;](sm_CXScreen[color= #009900;]) div [color= #cc66cc;]2 [color= #339933;]- [color= #cc66cc;]180[color= #339933;];

 

 

 Handle [color= #339933;]:=CreateWindowEx[color= #009900;](WS_EX_OVERLAPPEDWINDOW[color= #339933;], [color= #0000ff;]'Prog'[color= #339933;],[color= #0000ff;]'عرب تيمز 2000'[color= #339933;],

                        WS_VISIBLE or  WS_BORDER or  WS_SYSMENU[color= #339933;],

                        Screenwidth[color= #cc66cc;]+3[color= #339933;], Screenheight[color= #cc66cc;]+22[color= #339933;], [color= #cc66cc;]320[color= #339933;], [color= #cc66cc;]142[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], Inst[color= #339933;], nil[color= #009900;])[color= #339933;];

 

 Label1 [color= #339933;]:= Createwindow[color= #009900;]([color= #0000ff;]'Static'[color= #339933;], [color= #0000ff;]''[color= #339933;], WS_VISIBLE or WS_CHILD or  SS_Right [color= #339933;],

               [color= #cc66cc;]6[color= #339933;],[color= #cc66cc;]32[color= #339933;],[color= #cc66cc;]200[color= #339933;],[color= #cc66cc;]64[color= #339933;], Handle[color= #339933;], [color= #cc66cc;]0[color= #339933;], Inst[color= #339933;], nil[color= #009900;])[color= #339933;];

 

 hFont [color= #339933;]:= CreateFont[color= #009900;]([color= #cc66cc;]-2[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]400[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], DEFAULT_CHARSET[color= #339933;],

                      OUT_DEFAULT_PRECIS[color= #339933;], CLIP_DEFAULT_PRECIS[color= #339933;], DEFAULT_QUALITY[color= #339933;],

                      DEFAULT_PITCH or FF_DONTCARE[color= #339933;], [color= #0000ff;]'MS Sans Serif'[color= #009900;])[color= #339933;];

 

 SetWindowText[color= #009900;](Label1[color= #339933;], [color= #0000ff;]'بسم الله الرحمن الرحيم'[color= #009900;])[color= #339933;];

 

 [color= #b1b100;]If hFont [color= #339933;]<> [color= #cc66cc;]0 Then SendMessage[color= #009900;](Label1[color= #339933;], WM_SETFONT[color= #339933;], hFont[color= #339933;], [color= #cc66cc;]0[color= #009900;])[color= #339933;];

 

 UpdateWindow[color= #009900;](Handle[color= #009900;])[color= #339933;];

 

 

 [color= #b1b100;]while[color= #009900;](GetMessage[color= #009900;](Msg[color= #339933;], Handle[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #009900;])[color= #009900;]) [color= #b1b100;]do

  begin

    TranslateMessage[color= #009900;](msg[color= #009900;])[color= #339933;];

    DispatchMessage[color= #009900;](msg[color= #009900;])[color= #339933;];

  [color= #990000;]end[color= #339933;];

[color= #990000;]end[color= #339933;].
d4baa0.gif

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…