هل توجد طريقة نثبت بها حجم الفورم بحيث لايكون قابل للاتساع ان تم وضع الماوس علي احد اطرافة علي ان يراعي في الطريقة الاحتفاظ بزري الاغلاق والتصغير الخاص بتحول نافذة البرنامج الي زر في شريط المام
مع الشكر
هل توجد طريقة نثبت بها حجم الفورم بحيث لايكون قابل للاتساع ان تم وضع الماوس علي احد اطرافة علي ان يراعي في الطريقة الاحتفاظ بزري الاغلاق والتصغير الخاص بتحول نافذة البرنامج الي زر في شريط المام
مع الشكر
اخى الكريم ابن بسطا
عذرا , لقد فهمت سؤالك بطريقة اخرى ولم الاحظ انك تريد الاحتفاظ بزرارى التكبير والتصغير اعلى الفورمة
لذلك اليك هذا الحل البسيط (هو طبعا مش عملى 100 فى الـ 100 بس هيفى بالغرض)
فى الحدث Form_Resize (وهو الحدث الذى يتم تنفيذه كلما حاولت تغيير حجم الفورمة) قم بوضع الكود التالى (والغرض منه تثبيت حجم الفورم):
Private Sub Form_Resize()
Form1.Width = 7500
Form1.Height = 5850
End Sub
وبذلك فى كل مرة تحاول تكبير الفورم هترجع تانى للحجم اللى انت محدده
طبعا فى حل تانى بأستخدام الـ API's بس ده حل مؤقت لحد ماجيبلك الكود الاخر
وشكرا
طريقتين،
من خلال اختيار القيمة Fixed Single كما يظهر في الصورة

التي وضعها الأخ في الأعلى
ثم تنتقل إلى خاصية MaxButton و MinButton وتعطيهم القيمة TRUE.
باستخدام Windows API, تقوم بإلغاء خاصة WS_SIZEBOX من Style النافذة
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Private Declare Function SetWindowLong Lib "user32.dll" Alias _ "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32.dll" Alias _ "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long Private Const WS_SIZEBOX As Long = &H40000 Private Const GWL_STYLE As Long = -16 Private Const SW_SHOW As Long = 5 Private Sub Form_Activate() Dim Style As Long Style = GetWindowLong(Me.hwnd, GWL_STYLE) Style = Style Xor WS_SIZEBOX Style = SetWindowLong(Me.hwnd, GWL_STYLE, Style) ShowWindow Me.hwnd, SW_SHOW End Sub
تم تعديل هذه المشاركة بواسطة Xacker في 31 أكتوبر 2008 في 22:35
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
الاساتذة الافاضل Mooddy و Xacker اشكركم علي ما تم تقديمة من عون لي فالطريقتين قاما بتوصيلي للنتيجة المطلوبة
وبالنسبة لطريقة الاستاذ Mooddy
الخاصة بالكود
Private Sub Form_Resize()
Form1.Width = 7500
Form1.Height = 5850
End Sub
كان ينقصها ان نعطي MaxButton القيمة TRUE لتصبح كما اريد
اما بالنسبة لطريقة الاستاذ Xacker
فقامت بتنفيز ما اريد بالضبط ايضا بالرغم من عدم استخدام Windows API
ولكن لي سوال اين او كيف استخدم Windows API
مع الشكر
ضع الكود السابق في مشروع وسترى كيف يتم توزيعه في المشروع، إن كنت تريد استخدام دالة API معينة ولا تعرف الطريقة فاطرح سؤالك في قسم البرمجة بـ Windows API.
عادة يتم وضع الدوال والثوابت الخاصة بها في module ويتم استدعاءها من داخل الفورم من خلال جعلها Public.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
استاذ Xacker
بالفعل عندما وضعت الكود في الفورم وجدت تم توزيعة مشكور لك تعبك وانا انتهيت من برنامجي فهو مجرد الة حاسبة لحساب قيم محددة تفيدني في عملي اي مجرد برنامج بسيط لاني مبتدا في الفيجول واجهل امور كثيرة واشكر انت والاستاذ Mooddy علي حسن مساعدتكم لي
ولقد وضعت برنامجي في المرفقات لابداء الراي والنصيحة ان كانت لديكم اي ملاحظات
بسم الله الرحمن الرحيم
تمت الإجابة على الموضوع
إدارة الفريق العربي للبرمجة
سبحان الله وبحمده ... سبحان الله العظيم
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…