PDA

View Full Version : چک کردن پر بودن clipboard و همچنین خلاص شدن از این پیغام



hamid-nice
جمعه 02 فروردین 1392, 17:10 عصر
سلام و تبریک سال نو 92 به همه دوستان

چطور می شه در هنگام خارج شدن از فرم ، برنامه چک کنه که آیا clipboard پر هست و پیغام بده که می خواهید آنرا خالی کنید یانه ؟

جناب amirzazadeh (http://barnamenevis.org/member.php?47888-amirzazadeh) یک لینک خیلی خوب برای این مورد در یک تاپیکی گذاشته اند یعنی لینک زیر :

http://bytes.com/topic/access/answers/198151-how-avoid-clip-board-message-when-duplicating-record

من به جای پیغام "MsgBox "ClipBoard Cleared یک پیغام شرطی نوشتم فقط وقتی کاربر NO را انتخاب می کنه دوباره پیغام خود Access می آید نمی دونم براش چی بنویسم که بره اونرا اجرا کنه و پیغام access نیاد و حافظه هم خالی نشه

شرطی که من نوشتم به صورت :
If MsgBoxFa("empty cipboard ?", vbYesNo + vbQuestion + vbDefaultButton1) = vbNo Then Exit Sub
هست باید به جای Exit sub چی بنویسم

با تشکر

hamid-nice
شنبه 03 فروردین 1392, 13:21 عصر
سلام

مشکل حل شد
دیگر دوستان اگر به این کد نیاز دارند : کد نمونه برای حذف پیغام clipboard به صورت زیر نوشته شود :

در اول محیط VBA فرم مورد نظر نوشته شود :

Private Declare Function OpenClipboard Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long


سپس در رویداد unload آن فرم نوشته شود :

DoCmd.SetWarnings False
On Error Resume Next

Call OpenClipboard(0&)
If Not IsNull(Clipboard) Then
If MsgBox("keep data in clipboard?", vbYesNo + vbQuestion + vbDefaultButton1) = vbNo Then
EmptyClipboard
CloseClipboard
Else
CloseClipboard
Exit Sub
End If
End If

با زدن کلید yes اطلاعات کپی شده در حافظه باقی می ماند و با زدن کلید NO از حافظه پاک می شود
موفق باشید

hamid-nice
یک شنبه 04 فروردین 1392, 00:05 صبح
سلام

البته با کد فوق مشکل اینجاست که هر بار که کاربر از فرم خارج می شه این سوال ازش پرسیده می شه

اما کسانی که براشون فقط نیامدن پیغام clipboard مهم هست نه خالی کردن اون (یا پرسش از کاربر ) ، کافی که در

رویداد Onload فرمشون بنویسند :

DoCmd.SetWarnings False

در اینصورت clipboard خالی نشده ولی پیغام access هم نخواهد اومد

موفق باشید

hamid-nice
جمعه 09 فروردین 1392, 23:28 عصر
سلام
یک لینک خوبی هم جناب جعفر88 در یک تاپیکی قرار دادن که ممکنه به درد بعضی دوستان بیاد :

http://stackoverflow.com/questions/645861/disable-warning-you-copied-a-large-amount-of-data-onto-the-clipboard