نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: ايجاد فرم بدون دكمه خروج در منوبار (دكمه قرمز بالا سمت راست فرم)

  1. #1


    آخرین بازدید
    یک روز پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    Cap ايجاد فرم بدون دكمه خروج در منوبار (دكمه قرمز بالا سمت راست فرم)

    سلام دوستان

    گاهي پيش مياد ميخوايم يه فرمي داشته باشيم كه امكان بستن نداشته باشه. يا مثلا قبل از بسته شدن يكسري كارها انجام بشه.
    خب براي چنين مواقعي ميتونيم فرمي داشته باشيم كه دكمه خروج نداشته باشه.
    اگه چنين فرمي نياز دارين اين آموزش رو از دست ندين
    اينم يه نمونه از نتيجه نهايي فرم ما

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  form_without_exit.jpg
مشاهده: 41
حجم:  14.4 کیلو بایت
    خب حالا بريم سراغ آموزش:
    ابتدا يك فرم ميسازيم با هر محتوايي كه لازم داريم. سپس روي فرم كليك كرده و F7 رو ميزنيم تا وارد محيط كدنويسي فرم بشيم. (ميتونين روي فرم راست كليك كرده و گزينه view code رو بزنين)

    حالا اين كدها رو به ابتداي كدها اضافه ميكنيم:

    کد:
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Const GWL_STYLE = -16
    Const WS_SYSMENU = &H80000
    Private Sub UserForm_Initialize()
       Dim hWnd As Long, lStyle As Long
       If Val(Application.Version) >= 9 Then
          hWnd = FindWindow("ThunderDFrame", Me.Caption)
       Else
          hWnd = FindWindow("ThunderXFrame", Me.Caption)
       End If
       lStyle = GetWindowLong(hWnd, GWL_STYLE)
       SetWindowLong hWnd, GWL_STYLE, (lStyle And Not WS_SYSMENU)
    End Sub
    به همين راحتي :دي
    براي نمونه هم يك فرم آماده كردم كه پيوست ميكنم. اميدوارم مفيد باشه براتون
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده


  2.  

  3. #2


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    با سلام و احترام

    ممنونم از مطلب خوب و کاربردیتون
    من فایل آپلودی شما رو امتحان کردم اما ظاهرا در سیستم من اجرا نشد! دلیل چی می تونه باشه ممنونم

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  111.jpg
مشاهده: 22
حجم:  296.4 کیلو بایت

  4. #3


    آخرین بازدید
    یک روز پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط Skynet نمایش پست ها
    با سلام و احترام

    ممنونم از مطلب خوب و کاربردیتون
    من فایل آپلودی شما رو امتحان کردم اما ظاهرا در سیستم من اجرا نشد! دلیل چی می تونه باشه ممنونم

    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  111.jpg
مشاهده: 22
حجم:  296.4 کیلو بایت

    سلام دوست عزیز
    سیستم شما 64 بیتی هست احتمالا
    لطفا این کد اصلاح شده برای سیستم های 64 بیتی رو امتحان بفرمایید
    کد:
    Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Const GWL_STYLE = -16
    Const WS_SYSMENU = &H80000
    Private Sub UserForm_Initialize()
       Dim hWnd As Long, lStyle As Long
       If Val(Application.Version) >= 9 Then
          hWnd = FindWindow("ThunderDFrame", Me.Caption)
       Else
          hWnd = FindWindow("ThunderXFrame", Me.Caption)
       End If
       lStyle = GetWindowLong(hWnd, GWL_STYLE)
       SetWindowLong hWnd, GWL_STYLE, (lStyle And Not WS_SYSMENU)
    End Sub

  5. سپاس ها (2)


  6. #4


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    با سلام و احترام
    خیلی ممنونم دوست عزیز اجرا شد ولی الان دیگه بی خیال نمیشه هر چی کلید خروج رو میزنم خارج نمیشه آخر با Ctrl+Alt+Delete بستم

    برای رفع مشکل چکار باید کرد؟ خیلی ممنونم
    ویرایش توسط Skynet : 2017/03/10 در ساعت 00:22

  7. #5


    آخرین بازدید
    یک روز پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط Skynet نمایش پست ها
    با سلام و احترام
    خیلی ممنونم دوست عزیز اجرا شد ولی الان دیگه بی خیال نمیشه هر چی کلید خروج رو میزنم خارج نمیشه آخر با Ctrl+Alt+Delete بستم

    برای رفع مشکل چکار باید کرد؟ خیلی ممنونم

    سلام
    کدهای مربوط به دکمه خروج رو مشاهده کنید:
    کد:
    Private Sub CommandButton1_Click()
    Unload UserForm1
    End Sub

  8. سپاس ها (1)


  9. #6


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    مرسی جناب قاسمیان
    من برنامه نویسی نمی دونم اگر ممکنه کد نهایی رو با آخرین ویرایش ارسال کنید ممنون میشم .

  10. #7


    آخرین بازدید
    یک روز پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,469
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط Skynet نمایش پست ها
    مرسی جناب قاسمیان
    من برنامه نویسی نمی دونم اگر ممکنه کد نهایی رو با آخرین ویرایش ارسال کنید ممنون میشم .
    نمونه فایل پیوست پست اول هست دوست عزیز

  11. #8


    آخرین بازدید
    2023/12/24
    تاریخ عضویت
    March 2017
    نوشته ها
    142
    امتیاز
    59
    سپاس
    83
    سپاس شده
    47 در 28 پست
    تعیین سطح نشده است

    خیلی ممنونم از شما، منظورتونو متوجه شدم
    کد:
    Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Const GWL_STYLE = -16
    Const WS_SYSMENU = &H80000
    
    
    Private Sub Label1_Click()
    
    
    End Sub
    
    
    Private Sub UserForm_Initialize()
       Dim hWnd As Long, lStyle As Long
       If Val(Application.Version) >= 9 Then
          hWnd = FindWindow("ThunderDFrame", Me.Caption)
       Else
          hWnd = FindWindow("ThunderXFrame", Me.Caption)
       End If
       lStyle = GetWindowLong(hWnd, GWL_STYLE)
       SetWindowLong hWnd, GWL_STYLE, (lStyle And Not WS_SYSMENU)
    End Sub
    
    
    Private Sub CommandButton1_Click()
    Unload UserForm1
    End Sub

  12. سپاس ها (1)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. مشکل در زمان تغییر از حالت چپ به راست به حالت راست به چپ
    توسط qwstand در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 1
    آخرين نوشته: 2014/07/15, 11:01
  2. طراحی ستون*هاي با بست چپ و راست تك
    توسط alieddy0 در انجمن اسپريد شيت هاي مهندسي - Engineering spreadsheet
    پاسخ ها: 0
    آخرين نوشته: 2014/03/18, 12:22
  3. شکلک پستچی در پائین راست صفحه چی چیه ؟ مزاحم دید ماست.
    توسط absabdi2005 در انجمن انتقادات و پیشنهادات خود را در این اتاق ثبت کنید
    پاسخ ها: 5
    آخرين نوشته: 2014/02/19, 13:12

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است