کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

غیرفعال کردن کلوز باتن پنجره ی اکسس ( Disable Close In Access Window )

User31.dll


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


WM_SYSCOMMAND message


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


 

SC_CLOSE=&HF060&  ' Close The Window

SC_MAXIMIZE=&HF030&  ' Maximize The Window 

SC_MINIMIZE=&HF020& ' Minimize The Window

MF_BYCOMMAND=&H0&      ' Indicates that the uPositi

parameter gives the identifier of the menu item

غیرفعال کردن آیتم منو و خاکستری کردن آن بطوریکه نشود انتخاب کرد 

MF_GRAYED=&H1&   ' Disables the menu item and grays it so that it cannot be selected.


Window Styles

WS_MAXIMIZEBOX=&10000

WS_MINIMIZEBOX=&20000

پنجره در نوار عنوان منودارد که میتوان با این آیتم آنرا برداشت هم کلوز هم باکس Min و Max

WS_SYSMENU=&80000  ' The window has a windomenu

on its title bar.

WS_BORDER=&800000


GetSystemMenu hWnd(A handle to the window that

will own a copy of the window menu.),bRevet(it can be 

modified. If this parameter is TRUE)


تابع بالا برنامه را برای دسترسی به منوی پنجره (همچنین به عنوان منوی سیستم یا منوی کنترل) برای کپی کردن و اصلاح، فعال می کند.

  نام فرم یا اپلیکیشن اکسس  =hWnd

تابع بالا= hMenu


تابع زیر آیتم منوی مشخص شده را فعال یا غیرفعال می کند.


EnableMenuItem hMenu,uIDEnableItem(The menu

item to be enabled, disabled, or grayed : Like )

(SC_CLOSE),uEnable(MF_GRAYED)



FORM.hWnd

شما می توانید از ویژگی hWnd برای تعیین دسته (یک مقدار Integer Long Integrated) که مایکروسافت ویندوز را به پنجره فعلی اختصاص داده است، استفاده کنید.


مثال زیر از ویژگی hWnd با عملکرد API و تابع IsZoomed برای تعیین اینکه آیا یک پنجره Maximize می شود استفاده می شود.


Declare Function IsZoomed Lib "user32" (ByVal hWnd

As Long) As Long


()Sub Form_Activate

Dim intWindowHandle As Long

intWindowHandle = Screen.ActiveForm.hWnd

If Not IsZoomed(intWindowHandle) Then DoCmd.Maximize 
End If 
End Sub


نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد