ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
استفاده از توابع ویندوز API
در اکسس تابعی برای این موضوع در نظر گرفته نشده ولی میشود با این توابع و هندل کردن ویندو پنجره ای را بست کامند باتن هایی که در Title Bar هست را برداشت مثل خاصیت MinMax Button =No در پراپرتی شیت فرم اکسس ، یا تغییر پوزیشن نمایش Msgbox سیستمی و یا Icon را در Title Bar فرم انداخت ویا پوزیشن پنجره را تغییر داد و خیلی کارهای دیگر یا حتی گرفتن تکست در Title Bar که همان Caption هست و یا تغییر
Declare Function ShowWindow Lib "User32" ( Byval Hwnd As Long , Byval ncmdShow As Long ) As Long
نحوه ی نگارش تابع در ( Win64 و Win32 ) فرق میکند و باید در Win64 قبل از فانکشن Ptrsafe را قرار داد و کل دیتا تایپ Long در تابع به LongPtr تبدیل شوند اگر باید در هر دو 32 بیت و 64 کار کند باید از if Win64 Then # و Else .. End If استفاده کرد که قبل از Else با PtrSafe و LongPtr طبق روش بالا و برای بعد از Else همان تابع بدون PtrSafe و Long قرار می گیرد
Hwnd نام کنترل مثلا فرم یا اپلیکیشن اکسس ؛ مثلا در اکسس
نکته : قبل از گذاشتن تابع زیر جهت مخفی شدن پنجره ی اصلی اکسس حواستان باشد در رویداد کلوز فرم حتما دستور خروج از اپلیکیشن که Quit هست با Docmd را بدهید وگرنه برای بستن باید از Task Manager ویندوز استفاده کنید چون برنامه ی شما هنوز باز است و ویندوز تنها با دریافت مسیج حاصل از زدن دکمه ی کلوز پنجره ی اصلی اپلیکیشن اکسس را خواهد بست !!!
ShowWindow Application.hWndaccessApp , 0
Hide 0
Normal 1
Minimized 2
Maximized 3
مثال زیر اکتیو کنترل را به متغیر ctlCurrentControl تخصیص میدهد و اعمال خاصی را بسته به Value ی خاصیت Name کنترل فوکس داده شده انجام میدهد.
Dim ctlCurrentControl As Control
Set ctlCurrentControl=Screen.ActiveControl
If ctlCurrentControl.Name="txtCustomerId" Then
انجام عمل خاصی وقتی فوکس به تی اکس تی کاستمرآیدی برسد
"ElseIf ctlCurrentControl.Name="btnCustomerDetail
Then
انجام عمل خاصی وقتی فوکس به باتن کاستمر دیتیل برسد
End If
تذکر : اگر فوکس به کنترلی انجام نشود در حال استفاده از ActiveControl یا اگر تمام کنترل های فرم هاید یا غیرفعال شوند خطا اتفاق می افتد