الصـقر قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 بسم الله الرحمن الرحيم الاخوه الكرام بعد فترة انقطاع عن تقديم سلسلة علمنى كيف اصطاد بسبب الانشغال من الانتهاء ببرنامج EMA بشكله الجديد وبعد ان انتهيت منه بحمد لله أقدم لكم اليوم بمشيئة الله شروحات عن الفورم Form من البدايه حتى الاحتراف بأذن الله الدرس الاول 1- الدخول الى محرر الاكواد ( Visual Basic ) بالضغط على Alt+ f11 سيظهر معك الصوره التاليه 2- لو نظرنا الى الصوره السابقه سنجد كلمة Insert عليها دائره حمرا قم بالضغط على كلمة Insert ستظهر لك الصوره التاليه 3 - اضغط على UserForm كما هو مبين بالصوره اعلاه سيظهر لك الصوره التاليه 4- فى الصوره السابقه لو نظرنا لها سنجد شريط الادوات كما هو موضح بالصوره التاليه 5-صندوق ادوات التحكم ToolBox كما هو موضح بالصوره التاليه كما هو موضح بالصوره عاليه سوف نكتب نبذه صغيره عن كل عنصر من عناصر التحكم (طبعا الكلام هيكون نظرى وانا شخصيا لا اقتنع بالنظرى ) ولكن هى مجرد نبذه صغيره وبعد ذالك سوف نقوم بسرد كل عنصر فى درس مخصص بشرح وافى وكافى وبالصور والامثله العملية والتطبيقيه بأذن الله تعالى اولا :- المؤشر ( Pointer ) *** تستخدم هذه الاداه فى اضافة ادوات تحكم جديده غير ظاهره بصندوق التحكم ثانيا :- العنوان ( Lable ) *** هى أداه تستخدم لكتابه عنوان ثالثا :- صندوق النص ( Text Box ) *** وهى اداه تسمح للمستخدم بكتابة نص او رقم أو اى شئ بداخلها رابعا:- أداة السرد والحوار ( ComboBox) *** وهى أداه يمكن اضافة لها قائمة محدد يسمح للمستخدم الاختيار منها وهى مثل القائمة المنسدله بالاكسيل خامسا :- صندوق القوائم ( ListBox ) *** وهى اداه تشبه وعاء يحتوى على بيانات يمكن اضافه هذا المحتوى من Text Box او ComboBox ثم ترحيل هذا المحتوى الى شيت الاكسيل أو رفع محتوى من شيت الاكسيل وعرضه بـ ListBox سادسا :- صندوق الفحص (Check Box) *** تستخدم لعمل عدة صناديق فحص واختيار واحد او اكثر منهما سابعا:- زر الاختيار (Option Box ) *** تستخدم هذه الاداه فى عرض عدة بدائل امام المستخدم لاختيار احدهما فقط ثامنا:- زر التبديل (Toggle Button) *** هى اداه تشبه المفتاح الكهربائى له خيارين أما on أو Off ولكن بالاكسيل هذه الاداه لها خيارين أما true وأما false تاسعا:-الاطار (Frame) *** ويستخدم لعمل اطار لمجموعه عناصر عاشرا:- زر الامر (Command Button) *** هو زر يتم من خلال تنفيذ الكثير من الاكواد او التعليمات البرمجيه احدى عشر :- شريط التبويب ( Tab Strip) *** تتيح للمستخدم من عرض ادواته على شكل صفحات عرض اثنى عشر :- شريط الصفحات (Multi Page)*** تتيح للمستخدم من عرض ادواته على شكل صفحات عرض ثلاثة عشر :- شريط الانزلاق (Scroll Bar) *** هى اداه لها شكلان شكل عمودى واخر افقى وهى تشبه بحد كبير الاداه Spin Button اربعة عشر :- زر التدوير ( Spin Button) *** هى اداه تستخدم لزياده قيمة معينه او نقصانها ويتم تحديد قيمة عليا وقيمة سلفه ومقدار هذه القيم خامس عشر :- صوره( Image) *** وهى اداه تتيح للمستخدم من ادراج صوره بداخلها وان شاء الله كما قلت سوف نقوم بشرح كل جزء بدرس خاص **************************************************************************************************** 5- خصائص الفورم ( Properties Window) انظر للصوره التاليه الان نقوم بشرح أول جزء من عناصر التحكم فى صندوق التحكم أولا : - المؤشر ( Pointer ) تستخدم هذه الاداه فى اختيار ادوات تحكم اخرى غير ظاهره بصندوق التحكم من خلال الضغط كليك يمين على السهم سيظهر لك Additional Controls كما هو مبين بالصوره التاليه وعند الضغط على Additional Controls ستجد الصوره التاليه فى الصوره السابقه ستجد على اليسار فى الاسفل Show وتحتها مربع به علامه صح لو قمت بحذف علامة صح من المربع ستجد القائمة على اليمين ظاهر بها كل عناصر التحكم انظر للصور التاليه بعد االه علامه الصح فى الصوره السابقه خامس خيار ضع علامه صح Calendar Control 12.0 ثم اضغط اوك ستجد ان عنصر التحكم Calendar Control 12.0 موجود بصندوق عناصر التحكم كم هو موضح بالصوره فى الصوره السابقه لو نظرت الى صندوق التحكم ستجد ان عنصر Calendar Control 12.0 ظاهر كما هو موضح بالدائره الحمراء الصغيره اضغط على هذه الايقونه ثم اذهب الى الفورم وقم بالرسم التقويم ستجده كما هو محاط بالدائره الاحمراء الكبيره فى الصوره السابقه وبكدا يبقى عرفنا ازاى انضيف عنصر تحكم جديد الى صندوق التحكم والى لقاء اخر بأذن الله فى سلسه علمنى كيف اصطاد تقبلوا تحياتى ********************************************* الاخوة الكرام اليوم بمشيئة الله نواصل شروحات عن الـ Label بناء على طلب استاذى الفاضل ابويوسف ( يرجى التعريج على بعض الخصائص الأخرى مثل Auto size حجم تلقائي .. و Control Tip Text حيث نقوم بكتابة نص داخله ليعطينا تعليقاً على عمل الـ Label ) الخاصيه Auto size :- هى خاصيه تحمل خيارين true و False عن اختيارك true فأن عرض الـ Label سوف يكون تلقائى حسب محتوى النص بداخله وعند اختيارك False فأنه يتم توقف خاصيه عمل عرض تلقائى حسب طول النص للـ Label وبالتالى لابد من تحديد العرض اثناء التصميم او من خلال البرمجه كما سنرى لاحقا الخاصيه Control Tip Text :- هذه الخاصيه عند كتابى اى شئ بداخلها فأنها تعرض النص كتلميح عند وقوف الماوس على الـ Label ملحوظه ( عدم شرحى للخاصيه Control Tip Text فى السابق لانى لا ارى فائده لها فوظيفة الـ Label هى عنوان لشئ فى الفورم فأنت لا تحتاج عمل تلميح ) عموما تم التنويه عنها انت بس تأمر يا ابويوسف ************************************************************************************ اليوم بمشيئة الله هنتكلم عن المحور الثالث وهو استخدام البرمجه الخاصه بالـ Label عند عمل Label جديد على الفورم كما هو ظاهر بالصوره التاليه انظر الى المربع الاحمر الكبير على يسار الصوره والمكتوب عليه رقم 3 هذه هى خصائص الـ Label عند التصميم من شاشة الخصائص فماذا لو حبينا نعمل الخصائص من خلال الاكواد مثال:- اضغط دبل كليك على الفورم وهنعمل كود فى حدث فتح الفورم اتبع الصوره التالية فبعد تنفيذ الخطوات كما هو موضح بالصوره السابقه ستجد التالى شاهد الصوره فى الصوره السابقه المربع الاحمر هو مكان كتابه الاكواد أول شئ عايزين نجعل Label Back color لونه اصفر هنكتب التالى label1.b مجرد كتابة ليبل 1 وبعدها نقطه ( تكتب من خلال جعل لغه الكيبورد انجليزى ثم الضغط على حرف ز ) ستظهر لك قائمة عند كتابة حرف B سوف يتم فلترة القائمه طبقا للحرف المكتوب شاهد الصوره ثم نقوم باختيار BackColor Label1.BackColor = 65535 كتبنا اسم الـ Label1 وبعدها (.) ثم اسم الخاصيه ثم (=) ثم النتيجة المطلوبه 255 تشير الى جعل خلفية الـLabel لونه اصفر اليك صوره بارقام الالوان فى الفيجوال بيسك ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو عايزين نعمل نص للـ Label هيكون كالتالى Label1.Caption = "بسم الله الرحمن الرحيم" لو لاحظنا جعلنا النص بين علامتى تنصيص وتكتب من خلال (shift+حرف ط ) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نحدد حجم الخط هيكون كالتالى Label1.Font = 20 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولوحابين نحدد سماكة الخط هيكون كالتالى بعد يساوى ستجد خيارين أما True أو False على سبيل المثال هنختار True لجعل سماكه الخط ثخين Label1.Font.Bold = True ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نجعل تاثر للـLabel بشكل خاص ممكن كالتالى Label1.SpecialEffect = fmSpecialEffectRaised ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نخلى النص داخل اللـLabel فى المنتصف كالتالى (تحديد محازاة النص داخل الـ Label ) Label1.TextAlign = fmTextAlignCenter ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولتحديد ارتفاع الـlabel كالتالى Label1.Height = 50 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نحدد عرض الـ label كالتالى Label1.Width = 150 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- هذا هو الكود بشكله النهائى Private Sub UserForm_Initialize() Label1.BackColor = 65535 Label1.Caption = "بسم الله الرحمن الرحيم" Label1.Font = 20 Label1.Font.Bold = True Label1.SpecialEffect = fmSpecialEffectRaised Label1.TextAlign = fmTextAlignCenter Label1.Height = 50 Label1.Width = 150 End Sub اضغط Run أو اضغط F5 شاهد الفورم وشوف الـ label ازاى شكله ستجده كالتالى هل يوجد طريقه اخرى لكتابه الكود بشكل ابسط نعم يوجد طريقه اخرى من خلال استخدام With شاهد الكود كالتالى Private Sub UserForm_Initialize() With Label1 .BackColor = 65535 .Caption = "بسم الله الرحمن الرحيم" .Font = 20 .Font.Bold = True .SpecialEffect = fmSpecialEffectRaised .TextAlign = fmTextAlignCenter .Height = 50 .Width = 150 End With End Sub هنا استخدمنا with وطبعا لازم نقفل with ب End with ثم تكتب ( . ) وبعدها اسم الخاصيه ثم (=) جرب بنفسك وحاول اكتب الكود واى استفسار انا تحت امرك والى لقاء اخر مع درس جديد من دروس علمنى كيف اصطاد ( TextBox) انتظرونا تقبلوا تحياتى ********************************************* بسم الله الرحمن الرحيم الاخوه الكرام اليوم موعدنا بمشئية الله عن شرح TextBox كما قلنا من قبل ان TextBox هو صندوق ادخال يتم ادخال فيه نص او رقم من المستخدم اثناء العمل على الفورم أن شاء الله هيتم تناول الموضوع على اربع مراحل 1- كيفية انشاء TextBox على الفورم اثناء عملية التصميم 2- التعرف على خصائص الفورم من شاشة الخصائص اثناء عملية التصميم 3-وقت تنفيذ الكود الخاص بالـ TextBox 4-التعامل مع الـ TextBox فى لغة البرمجه 5-كيفية عمل تنسيقات للقيم المدخله نبدأ بسم الله أولا :- كيفية انشاء TextBox على الفورم اثناء عملية التصميم من صندوق التحكم أضغط على الايقونه المشار لها بحرف ِabl ثم اذهب الى الفورم وقم برسم TextBoxعلى الفورم بالابعاد اللى المناسبه لك من عرض وارتفاع شاهد الصوره التاليه توضح لك الامر فى الصوره السابقه يوجد Label1 و textBox1 هذه هى العناصر اللى موجوده على الفورم لو حابين نعمل Label و textBox ممكن يكون من خلال الطريقه السابقه وهى اضغط على العنصر المراد اضافته الى الفورم من صندوق التحكم ثم قم برسمه على الفورم وممكن من خلال الوقوف على العنصر يعنى تحديده ثم كليك يمين ستظهر قائمه اختر منها Copy دلوقتى انا عايز اعمل Label و textBox قم بتحديد Label1 واضغط على زر Ctrl من الكيبورد واستمر بالضغط عليه ثم بالماوس حدد textBox1 ثم اضغط كليك يمين بالماوس ستظهر قائمه اختر Copy ثم اذهب الى اى مكان فاضى فى الفورم واعمل كليك يمين واختر Paste او من خلال الكيبورد الضغط على زر Ctrl +زر حرف V ستجد انه تم انشاء Label2 و textBox2 وطبعا هيكون بنفس تنسيق خصائص Label1 و textBox1 شاهد الصوره --------------------------------------------------------------------------------------------------------------------------------------------- ثانياً :- التعرف على خصائص الفورم من شاشة الخصائص اثناء عملية التصميم شاهد الصوره التالية لخصائص الـ TextBox هنمسك اهم الخصائص والاكثر شيوعا فى الاستخدام ونبدا نشرح بالتفصيل الخاصيه (Name) :- Name هو اسم الـ TextBox المستخدم فى الاكواد وعند انشاء اى TextBox يقوم الفيجوال بيسك بأعطاء اسم افتراضى له TextBox1 واذا قمنا بعمل TextBox ثانى فأن الفيجوال بيسك يعطى له اسم افتراضى TextBox2 وانا افضل عدم تغيير اسماء TextBox الافتراضيه التى عرفها الفيجوال بيسك فعندما نريد كتابه كود خاص بالعنصر TextBox1 فى حدث Change على سبيل المثال يكون بداية الكود كالتالى Private Sub TextBox1_Change() فأذا قمنا بتغيير اسم TextBox1 كما عرفه الفيجوال بيسك الى اسم اخر من خاصيه Name وليكن مثلا غيرناه الى (Nomber ) فهنا عند كتابة كود فى حدث Change يكون كالتالى Private Sub Nomber_Change() ففى حال تغيير الاسم وعدم التزامك بالاسم داخل محرر الاكواد وكتابة كود يحدث Error ------------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Back Color) هذه الخاصيه تتيح للمستخدم تغيير لون خلفية TextBox1 على اليسار يوجد سهم اضغط عليه ستظهر لك قائمة يمكنك من خلالها اختيار اللون المناسب كما يحلو لك أنظر الصوره التاليه ---------------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Control Source) وهذه الخاصيه تتيح للمستخدم تحديد خلية محدده تظهر محتواها فى TextBox1 عند عرض الفورم والعكس صحيح بمعنى ان اى ادخال فى TextBox1 يظهر مباشره فى الخليه التى قمت بكتابتها فى الخاصيه Control Source فعلى سبيل المثال لو كتبنا ان Control Source هو محتوى الخليه A1 فعند عرض الفورم ستجد ان محتوى الخليه ظاهر فى الـ TextBox1 ولو قمت بتعديل المحتوى الموجود فى TextBox1 وضغط انتر سوف يتغير مباشره فى الخليه A1 الخلاصه انه يجعل خلية محدده مربوطه بالـ TextBox1 شاهد الصوره --------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Enabled ) هذه الخاصيه تحمل خيارين true و False عند اختيار true سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 وعند اختيار False لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 شاهد الصوره عند اختيار False ---------------------------------------------------------------------------------------------------------------------------------------- الخاصيه (Font) :- وهذه الخاصيه تتيح للمستخدم التحكم فى نوع وسماكة وحجم الخط للنص داخل الـ TextBox1 الافتراضى فى الفيجوال بيسك نوع الخط هو ( Tahoma ) والسماكه هى (Regular) وحجم الخط هو ( 8) الخاصيه (Font Color) :- وهذه الخاصيه تتيح للمستخدم التحكم فى اختيار لون الخط للنص داخل الـ TextBox1 مثال عند اختيار نوع الخط (Traditional Arabic) والسماكه ( Bold ) وحجم الخط (18) شاهد الصوره ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Height ) وهذه الخاصيه تتيح للمستخدم التحكم فى ارتفاع الـ TextBox1 فيمكنك أما من خلال التصميم السحب بالماوس للاسفل لتحديد الارتفاع للـ TextBox1 أو كتابة رقم للارتفاع فى الخاصيه Height ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Width) هذه الخاصيه تتيح للمستخدم التحكم فى عرض الـ TextBox1 كما يمكن ايضا التحكم فى عرض الـ TextBox1 من خلال التصميم على الفورم بالماوس ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه (Left) :- وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ TextBox1 عن الضلع الايسر للفورم الخاصيه (Top) :- وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ TextBox1 عن الضلع الاعلى للفورم مثال لو وضعنا قيمة Left 126 *** وقيمة Top 90 ستجد الصوره التالية ----------------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Locked ) هذه الخاصيه تحمل خيارين true و False عند اختيار False سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 وعند اختيار True لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 يعنى هيكون فى حمايه على TextBox1 ---------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Maxlenght ) هذه الخاصيه يمكن من خلالها التحكم فى عدد الاحرف او الارقام المدخله بالـ TextBox1 لو حضرتك عايز تجبر المستخدم على ادخال وليكن عدد 8 أحرف فقط اكتب فى خاصيه Maxlenght رقم 8 فلو حب المستخدم يكتب ( محمد خالد ) فأنه لا يستطيع الا كتابة (محمد خال) لماذا لانه تم تحديد عدد الادخال 8 فقط واحد هيقولى محمد خالد عددها 8 حروف هقوله ان الفيجول هيقوم بعد الفاصله اللى بين محمد وبين خالد وبالتالى (محمد 4 حروف + 1 فاصله + خال 3 حروف كدا =8) شاهد الصوره ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Multiline ) هذه الخاصيه تحمل خيارين true و False عند اختيار False سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1 على سطر واحد فقط وعند اختيار True سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1 على عدة اسطر ويجب مراعاة تعديل ارتفاع TextBox1 ليظهر اكثر من سطر شاهد الصوره ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Password char ) هذه الخاصيه يمكن من خلالها التحكم فى طريقة أظهار القيم المدخله بالـ TextBox1 لو حضرتك عايز تجعل القيم المدخله فى TextBox1 على شكل ( * ) مثلا شاهد الصوره التالية ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ScrollBars ) هذه الخاصيه تحمل اربع خيارات ويبدأ العدد من 0 الى 3 0- FMScrollBarsNone ( هذا يعنى الغاء خاصيه ScrollBars ) 1-FMScrollBarsHorizontal ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل أوفقى ) 2-FMScrollBarsVertical ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل رأسى ) 3-FMScrollBarsBoth ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل أفقى و رأسى مع بعض ) *** الاختيار رقم 1 وهو عمل ScrollBars للـ TextBox1 بشكل أوفقى لابد من جعل خاصيه Multiline تكون False يعنى يكون الكتابه على سطر واحد وبكدا يعمل سكرول بار افقى للوصول الى اخر السطر **** الاختيار رقم 2 وهو عمل ScrollBars للـ TextBox1 بشكل رأسى لابد من جعل خاصيه Multiline تكون True يعنى يكون الكتابه على عدة أسطر وبكدا يعمل سكرول بار رأسى للوصول الى اخر السطر **** الاختيار رقم 3 وهو عمل ScrollBars للـ TextBox1 بشكل رأسى واخر افقى بصراحه حاولت استخدمه لكن لم يظهر معى بشكل افقى وراسى وتفسير ذالك هى الخاصيه Multiline لانها تحمل خيارين اما الادخال يكون على سطر واحد وبالتالى فان الاسكرول بار الرأسى لا يوجد له فائده وأما الادخال على عدة اسطر متتاليه وبالتالى ان الاسكرول بار الافقى لي له فائده هذا والله اعلم ( مش عايز افتى فى شئ لا اعلمه واترك الامر للخبراء ) شاهد الصوره -------------------------------------------------------------------------------------------------------------------------- الخاصيه (Visible ) وهذه الخاصيه تتيح للمستخدم التحكم فى ظهور او عدم ظهور TextBox1 عند عرض الفورم وعند الضغط على السهم المجاور لها ستجد لها خيارين True و False عندد اختيار True سوف يظهر الـ TextBox1 على الفورم عند فتحه ( وهذا هو الخيار الافتراضى من الفيجوال بيسك ) وعند اختيار False ٍسوف يختفى الـ TextBox1 على الفورم عند فتحه يعنى هيكون غير ظاهر ومخفى لا يراه المستخدم -------------------------------------------------------------------------------------------------------------------------- الخاصيه (Tab index ) وهذه الخاصيه تتيح للمستخدم ترتيب التنقل بين الازرار على الفورم بعد الخروج منها من خلال الزر انتر ويمكن تعطيل هذه الخاصيه من خلال استخدام الخاصيه Tab stop = True الخاصيه (Tab Stop ) وهذه الخاصيه تحمل خيارين True و False عندد اختيار True يتم تعطيل خاصيه Tab index وعند اختيار False ٍسوف تفعل خاصيه Tab index للتنقل بين الازرار حسب الترتيب الذى ترغب فيه ------------------------------------------------------------------------------------------------ الخاصيه (Text Align) :- وهذه الخاصيه تتيح للمستخدم التحكم فى اتجاه بداية النص داخل الـ TextBox1 هل يكون يميناً أو يساراً أو وسط TextBox1 لو ذهبت للخصائص وعند الخاصيه Text Align ستجد سهم اضغط عليه ستجد 3 خيارات امامك وهى fm Text Align Left -1 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 يبداء من اليسار fm Text Align Center -2 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 فى المنتصف fm Text Align Right -3 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 يبداء من اليمين ------------------------------------------------------------------------------------------------------------------------- رقم 20 الخاصيه ( ٍِSpecial Effect ) هذه الخاصيه من الخصائص الهامه للـ TextBox1 وهى تعطى اشكال مبهره ومميزه للـ TextBox1 ولها خمس اشكال شاهد الصوره التاليه كما تشاهدون فى الصوره على اليسار دائره حمرا وبداخلها سهم يمكنك الضغط على السهم سيظهر لك قائمة الخيارات للاشكال اخترمنها الشكل المناسب لك جرب كل الاشكال واطلع علىها واختر ما يناسب زوقك ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- كدا الحمد لله انتهينا من المحور الاول وهو عملية التصميم ورسم TextBox وايضا انتهينا من المحور الثانى وهو اهم خصائص الـ TextBox ان شاء الله المره القادمه نتكلم عن المحور الثالث وهو وقت تنفيذ الكود الخاص بـ TextBox ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع تقبلوا تحياتى ********************************************* 11
محمد حسن المحمد قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم أخي الصقر شكراً أيها الصياد البارع جزاكم الله خيراً....هكذا سيكون للعلم معنى حيث تتواصل سلسلة العلم فلا تقف عند أحد لأن الله تعالى قد ذم من كتم العلم ورفع درجات العلماء اللهم اجعلنا ممن ترتفع درجاتهم ...والسلام عليكم. 1
إبراهيم ابوليله قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 اخى الصقر مجهود كبير ومعلوامت مفيده فى انتظار المزيد ونرجو الا تتهم بقلة المشاهده او قلة الردود ولكن الاهم هو تقديم شيئا مفيدا تقبل تحياتى 1
ا بو سليمان قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم \\ موضوع في غاية الروعة \ ولكن نحتاج الى خطوات اسهل لبنداء التطبيق 1
الصـقر قام بنشر سبتمبر 9, 2015 الكاتب قام بنشر سبتمبر 9, 2015 (معدل) استاذى وحبيبى ابويوسف والله انا تلميذ مثلك ومازلت اتعلم وخبرتى بسيطه ولكن حبيبت انى المعلومه اللى اعرفه يشاركنى فيها غيرى ويعرفها زى مش اكتر وهذا والله العظيم ليس تواضع منى ولكن هى الحقيقه التى لا يعرفها الا الله حتى لقب عضو خبير ( والله لا استحقه) انا عضو عادى بين الاعضاء اتعلم من الاساتذه فأنا لست دارساً للبرمجه وانما هى هوايه تقبل تحياتى ************************************ الاخ ابونبا جزاكم الله خيرا تقبل تحياتى ***************************************** الاخ الفاضل ابراهيم ابوليله جزاكم الله خيرا على مرورك العطر ودعنى اقولها لك بصراحه ان قله الردود تعنى ان الموضوع غير مفيد وغير مهم ويحبط كل من يريد ان يقدم شئ لا أتكلم عن نفسى ولكن اتكلم بشكل عام الدرس السابق جلست حوالى 5 ساعات لتجهيزه وتصميم الصور ثم رفعها على الموقع وكتابه الشرح وتنسيقاته فى حين ان الرد على الموضوع لا يحتاج سطر فى ظرف دقيقه الخلاصه لا احتاج انا او غيرى كلمة شكر او أشاده ولكن نحتاج معرفه ما مدى اهميه وقيمة ما نقدمه وهل هو مفيد أم لا تقبل تحياتى ****************************************** استاذى الفاضل ابوسليمان الشرح اعتقد ان بسيط للغايه ومصحوب بالصور ولكن اعدك فى الدرس القادم شروحات اكثر تفصيلا وابسط عرضا تقبل تحياتى تم تعديل سبتمبر 9, 2015 بواسطه الصـقـر 2
محمد حسن المحمد قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم ورحمة الله وبركاته أخي الصقر حسام ليست العبرة في قلة حجم الرد على الموضوع ،بل العبرة فيما يحصّل كل منا بذاكرته من المواضيع التي تطرحونها قد لا يبدو لك أن أحداً ما استفاد مما كتبت ولكن في الحقيقة لكل صوت صدى مهما بلغت دقته ..فإن أردت معرفة الاستجابة والاستيعاب عليك بالتغذية الراجعة أو كما قام أخونا الحبيب أبو البراء في أحد مشاركاته بوضع صورة مرفقة مع ملف طلب منا إدراجها ضمن يوزر فورم Sign in وأجبناه وذلك ليس عيباً ..بل يحقق مردوداً يرضي خاطرك ..هكذا كنا نعمل معشر المعلمين.. تقبل تحياتي..السلام عليكم. 1
الصـقر قام بنشر سبتمبر 9, 2015 الكاتب قام بنشر سبتمبر 9, 2015 الاخوة الكرام هل الشرح معقد ؟ هل الشرح غير كافى ؟ يرجى وضع تقيمكم للشرح ووضع اى ملاحظات علي الشرح للعمل على تعديله فى المرات القادمه تقبلوا تحياتى
عبد العزيز البسكري قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 (معدل) السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا العزيز حسام .. جزاك الله خيرا و زادك من علمه و فضله بساطة و سلاسة في الشرح و دقّة في تسمية المصطلحات واصل وفّقك الله وسدّد خطاك لما يحبّه و يرضاه كملاحظة أستاذنا لماذا لا تظهر عندي خاصية calendar control ..ألف شكر مسبّقا خالص تحيّاتي تم تعديل سبتمبر 9, 2015 بواسطه عبد العزيز البسكري 1
محمد حسن المحمد قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم أخي العزيز حسام.. بصراحة شرح ولا أروع ...من قال أن شرحك غير واضح بل قمة في الوضوح ..أحسنت التعبير عن كل فكرة طرحتها مع الصور واﻷسهم لترسخ في الذاكرة حيث جمعت بين الحس والذاكرة وهذا هو الأسلوب الناجع والناجح للانطلاق نحو أفكار أكبر حيث ننطلق من المحسوس بالرؤية إلى المجرد...وفقك الله إلى كل خير والسلام عليكم. 3
محي الدين ابو البشر قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم جميل ورائع بل اكثر من رائع بارك الله بك وبجهودك والله ولي التوفيق 2
saad abed قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 اخى حسام جزيت خيرا على شروحاتك شرح جميل ومفيد اخوانى أعضاء المنتدى نرجو التجاوب مع الشارح لان ذلك فيه افاده تحياتى لمشرفنا ياسر خليل فقد قدم الحلول المشروحه وافرد لنا شروحات فجزاه الله خيرا 1
فايز ياسين قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم الصراحة قمة في الاداء والشرح السلس الله يوفقك دنيا واخرة 1
أسامة البراوى قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم أخى العزيز الصقر .... شرحك جميل ... استمر وثق ان العبرة ليست بكثرة الردود بل على العكس فأنا أتمنى ان يكون الموضوعات التى تتناول الشرح مثل موضوعك متتالية بدون تعليقات ويكفى ان يضع متابعيك نقطة إعجاب فقط الا اذا كان يسأل عن نقطة معينة فى الشرح مثل المشاركة رقم 9 ..... وفى هذة الحالة فقط يمكن ان ترد عليه قبل البدء فى الشرح التالى وسيفيد تسلسل الموضوعات بدون قصائد الشكر فى استفادة كل متعلم يبدأ الموضوع ثم يتابع قراءة باقى الشرح متصلا بدون ان تقطعه التعليقات اتمنى منك الاستمرار لكى يستفيد الجميع .... فالمبتدئ سيجد ضالته اما الذى يعلم مسبقا سيزيد معلوماته ويعززها 2
أسامة البراوى قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا العزيز حسام .. جزاك الله خيرا و زادك من علمه و فضله بساطة و سلاسة في الشرح و دقّة في تسمية المصطلحات واصل وفّقك الله وسدّد خطاك لما يحبّه و يرضاه كملاحظة أستاذنا لماذا لا تظهر عندي خاصية calendar control ..ألف شكر مسبّقا خالص تحيّاتي السلام عليكم Calendar Control قد لا تنزل مع بعض اصدارات الأوفيس مثل اوفيس 2010 لكن يمكن الاستعاضة عنها باحد الادوالت التالية Microsoft Date and Time Picker Control 6.0 Microsoft Month View Control 6.0 2
عبد العزيز البسكري قام بنشر سبتمبر 9, 2015 قام بنشر سبتمبر 9, 2015 (معدل) السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا الفاضل أسامة البراوي على الشّرح الوافي و الكافي .. جزاك الله خيرًا و زادها بميزان حسناتك .. فعلاً أنا أشتغل على أوفيس 2010 تم تعديل سبتمبر 9, 2015 بواسطه عبد العزيز البسكري 1
الصـقر قام بنشر سبتمبر 10, 2015 الكاتب قام بنشر سبتمبر 10, 2015 الاخوه الكرام أقدم كل التحيه والتقدير للاستاذ الفاضل اسامه البراوى واشكره من كل قلبى لاهتمامه بالموضوع الاستاذ اسامه الفاضل الخلوق له اضافه وتعليق على ما ذكر ومعه كل الحق فمن كرم اخلاقه ومعدنه الاصيل فضل ان يكتبها برساله خاصه وودت ان انقلها لكم لكى تعم الفائده .... يمكن اضافة ادوان تحكم جديدة بالضغط على الزر الايمن فى اى مكان فاضى او مليان فى التول بوكس .... استعمال هذة الاداة ليتيح لك الانتقال الى مود الاختيار ما بين عناصر التحكم الموجودة على الفورم لتحريكها او التحكم فى حجمها .. هناك بعض اصدارات من الاكسيل عندما تختار ان تضيف زر مثلا ... يبقى المؤشر على الفورم فى وضع الاضافة/ فكلما ضغطت على الفورم بعد ذلك يضيف زر جديد وهكذا .... والحل عندها الضغط على المؤشر للهروب من هذة الدائرة المفرغة كل الشكر والتحيه والتقدير الى الاستاذ الفاضل اسامه البراوى واحب اقول لحضرتك لا حياء فى العلم فأنا مازلت تلميذ أرتوى من بحر علمكم الفياض تقبل تحياتى 3
KHMB قام بنشر سبتمبر 10, 2015 قام بنشر سبتمبر 10, 2015 السلام عليكم ورحمة الله اخي الفاضل حسام بداية موفقة وشرح رائع وفقك الله وفي ميزان حسناتك لي طلب بسبق الاحداث بخصوص التايمر في الفيجول بيسك نستطيع وضع تايمر ككائن ونجعل الليبل يومض لكن في Exell Vba لاتوجد تلك الاداه فكيف استطيع اجعل الليبل يومض آسف جدا علي دخولي عرضيا وإستباقي للاحداث مبكرا. فأنا محتاجة ومستعجل علية أبو الحسن والحسين
محمد حسن المحمد قام بنشر سبتمبر 10, 2015 قام بنشر سبتمبر 10, 2015 السلام عليكم أخي حسام شكراً جزيلاً على هذا العرض الرائع حيث تدرّجت من خاصة إلى أخرى مستعيناً بالله أولاً ثم بالرسوم المرفقة كإيضاحات مما يشد انتباه المشاهد يرجى التعريج على بعض الخصائص الأخرى مثل Auto size حجم تلقائي .. و Control Tip Text حيث نقوم بكتابة نص داخله ليعطينا تعليقاً على عمل الـ Label فالمبتدئون أمثالي بحاجة ماسة لدراسة مثل هذه الخصائص . نحن معك نسير قدماً خطوة خطوة لنصل إلى هدف سامٍ كما حضنا نبينا الكريم صلى الله عليه وسلم بقوله:(ليس مني إلا عالم أو متعلم) أو كما قال... نحن نتعلم إذاً نحن أحياء.... لن نسمح لأنفسنا أن نكون جهلة رعاع عالة على موائد الأمم الأخرى. تقبل تحياتي العطرة .
جعفر الطريبق قام بنشر سبتمبر 10, 2015 قام بنشر سبتمبر 10, 2015 (معدل) السلام عليكم ورحمة الله اخي الفاضل حسام بداية موفقة وشرح رائع وفقك الله وفي ميزان حسناتك لي طلب بسبق الاحداث بخصوص التايمر في الفيجول بيسك نستطيع وضع تايمر ككائن ونجعل الليبل يومض لكن في Exell Vba لاتوجد تلك الاداه فكيف استطيع اجعل الليبل يومض آسف جدا علي دخولي عرضيا وإستباقي للاحداث مبكرا. فأنا محتاجة ومستعجل علية أبو الحسن والحسين أضف ليبل label1 و جرب هدا الكود في UserForm Module Option Explicit Private Enum BackForeColor Background ForeGround End Enum Private Enum FlashSpeed Slow Fast End Enum Private bExiting As Boolean Private lLabelBackColor As Long Private lLabelForeColor As Long Private Sub UserForm_Activate() lLabelBackColor = Me.Label1.BackColor lLabelForeColor = Me.Label1.ForeColor Flash Obj:=Me.Label1, What:=Background, Speed:=Fast, FlashColor:=vbGreen End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) bExiting = True End Sub Private Sub Flash( _ ByVal Obj As Object, _ ByVal What As BackForeColor, _ ByVal Speed As FlashSpeed, _ ByVal FlashColor As Long _ ) Dim sProperty As String Dim iSpeed As Integer Dim lInitialColor As Long sProperty = IIf(What = Background, "BackColor", "ForeColor") lInitialColor = IIf(What = Background, lLabelBackColor, lLabelForeColor) iSpeed = IIf(Speed = Slow, 4, 2) Do If Int(Timer) Mod iSpeed And CallByName(Obj, sProperty, VbGet) <> FlashColor Then CallByName Obj, sProperty, VbLet, FlashColor End If If Int(Timer) Mod iSpeed = 0 And CallByName(Obj, sProperty, VbGet) <> lInitialColor Then CallByName Obj, sProperty, VbLet, lInitialColor End If DoEvents Loop Until bExiting End Sub ال Flash Sub هي ماكرو عامة تتقبل أي كونترول و تتقبل تغيير ال BackColor او ال ForeColor كما تحدد لون و سرعة الفلاش تم تعديل سبتمبر 10, 2015 بواسطه جعفر الطريبق 2
محمد حسن المحمد قام بنشر سبتمبر 10, 2015 قام بنشر سبتمبر 10, 2015 السلام عليكم جزاكم الله خيراً أستاذ طارق المحترم لقد أعطانا ليبل وامض باللون الذي نختاره ...ولكني أظنها الألوان الرئيسية فحسب. نقبل تحياتي.
KHMB قام بنشر سبتمبر 10, 2015 قام بنشر سبتمبر 10, 2015 (معدل) السلام عليكم ورحمة الله اخي الفاضل جعفـــــــــــــــــــــــــــــــــــــر نعم جربت ال ForeColor وال BackColor شغًـال تمام لكن حاولت ان يعمل علي اكثر من ليبل ما استطعت هل هناك إمكانية ليعمل الكود علي اكثر من ليبــــل للعلم فقط انا الحمد لله اكتفيت بما طلبت جزاك الله خير وفي ميزان حسناتك تم تعديل سبتمبر 10, 2015 بواسطه KHMB
جعفر الطريبق قام بنشر سبتمبر 10, 2015 قام بنشر سبتمبر 10, 2015 يمكن استعمال ال SetTimer API ما هو اصدار الويندوز و الاكسيل لديك
جعفر الطريبق قام بنشر سبتمبر 11, 2015 قام بنشر سبتمبر 11, 2015 (معدل) تفضل هدا الكود بال SeTimer API .. الكود يجعل كل الكونترولات على الفورم تومض و ليس الليبل فقط ملف للتحميل : https://app.box.com/s/v1bq7azcpdyf53ghc1j77mg62obarw7i 1 - كود في Standard Module : Option Explicit Public oUf As Object #If VBA7 And WIN64 Then ' 64-bit Office Public Sub TimerRedirect(ByVal hwnd As Longlong, ByVal nIDEvent As Longlong, ByVal uElapse As Longlong, ByVal lpTimerFunc As Longlong) #Else ' 32-bit Office Public Sub TimerRedirect(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) #End If CallByName oUf, "TimerProc", VbMethod, hwnd, nIDEvent, uElapse, lpTimerFunc End Sub 2 - كود في موديول الفورم UserForm Module : Option Explicit Private Enum BackForeColor Background ForeGround End Enum #If VBA7 And WIN64 Then Private Declare PtrSafe Function SetTimer Lib "user32" ( ByVal HWnd As LongLong, ByVal nIDEvent As LongLong, ByVal uElapse As LongLong,ByVal lpTimerFunc As LongLong) As LongLong Private Declare PtrSafe Function KillTimer Lib "user32" (ByVal HWnd As LongLong,ByVal nIDEvent As LongLong) As LongLong Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As LongPtr) #Else Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) #End If Private Sub UserForm_Initialize() Set oUf = Me Call Flash(Me.Label1, Background, 1, vbRed) Call Flash(Me.Label2, ForeGround, 2, vbRed) Call Flash(Me.Label3, Background, 1, vbYellow) Call Flash(Me.TextBox1, Background, 3, vbGreen) Call Flash(Me.CommandButton1, Background, 1, vbMagenta) End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Dim oCtl As Control For Each oCtl In Me.Controls KillTimer Application.hwnd, ObjPtr(oCtl) Next Set oUf = Nothing End Sub Private Sub Flash( _ ByVal obj As Object, _ ByVal What As BackForeColor, _ ByVal FlashesPerSecond As Long, _ ByVal FlashColor As Long _ ) obj.Tag = IIf(What = Background, "BackColor", "ForeColor") & "*" & FlashColor & "*" & _ IIf(What = Background, obj.BackColor, obj.ForeColor) Call SetTimer(Application.hwnd, ObjPtr(obj), FlashesPerSecond * 1000, AddressOf TimerRedirect) End Sub #If VBA7 And WIN64 Then ' 64-bit Office Public Sub TimerProc(ByVal hwnd As Longlong, ByVal nIDEvent As Longlong, ByVal uElapse As Longlong, ByVal lpTimerFunc As Longlong) #Else ' 32-bit Office Public Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) #End If Dim obj As Object Dim FlashCl As Long Dim sProp As String Dim initColor As Long CopyMemory obj, uElapse, 4 sProp = Split(obj.Tag, "*")(0) FlashCl = Split(obj.Tag, "*")(1) initColor = Split(obj.Tag, "*")(2) If CallByName(obj, sProp, VbGet) <> FlashCl Then CallByName obj, sProp, VbLet, FlashCl Else CallByName obj, sProp, VbLet, initColor End If CopyMemory obj, 0&, 4 End Sub تم تعديل سبتمبر 11, 2015 بواسطه جعفر الطريبق 1
الردود الموصى بها