PDA

View Full Version : ساخت menubar در access2010



EBRAHIMIEKOKDARAGHI
شنبه 22 بهمن 1390, 19:14 عصر
باسلام خدمت اساتید بزرگوار
من در مورد ساخت menubar اختصاصی تو access خیلی search کردم ولی نتیجه ای نداشت لطفا" در این مورد راهنمائی کنید خیلی ضروریه

bita_ziba77
دوشنبه 24 بهمن 1390, 08:56 صبح
با سلام
شما جهت ساخت menubar اختصاصی درaccess نياز از كدهاي xml استفاده نماييد و براي اين كار بايد يك جدول به نام USysRibbons بسازيد كه پس از ساخت اين جدول به صورت اتوماتيك جزو فايل هاي system object در مي آيد و شما در اين جدول باي د 3 فيلد ID , RibbonName , RibbonXML را بسازيد.
سپس در بخش RibbonName نام منوي خود و در بخش RibbonXML كد xml منوي خود را وارد نماييد. به عنوان مثال كد xml زير كل منو بارهاي شما را مخفي مي كند :

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true">
</ribbon>
</customUI>
با تشكر

مهدی د
دوشنبه 24 بهمن 1390, 20:18 عصر
سلام لطفا دستوری در کد فوق نوشته شود که دکمه Help اکسس نیز مخفی بشود و در صورت امکان دستور دیگری که دکمه آفیس باتن یا منوی پیش فرض موجود در آن را نیز مخفی کند . پیشاپیش از محبت شما کمال تشکر و قدردانی را دارم.

bita_ziba77
سه شنبه 25 بهمن 1390, 08:58 صبح
با سلام براي اين كار يك راه حل عالي براي شما پيشنهاد دارم كه مي توانيد موارد زير را انجام دهيد:
1) حذف منو هاي اكسس
2) حذف كل پنجره اكسس (فقط فرم شما نمايش داده مي شود)
3) حذف پنجره نمايش اكسس از TaskBar ويندوز

براي اين كار ابتدا كد زير را در يك ماژول ذخيره نماييد:

Option Compare Database

Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Dim dwReturn As Long

Const SW_HIDE = 0
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean

If Procedure = "Hide" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
End If
If Procedure = "Show" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
If Procedure = "Minimize" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)
End If
If SwitchStatus = True Then
If IsWindowVisible(hWndAccessApp) = 1 Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
Else
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
End If

If StatusCheck = True Then
If IsWindowVisible(hWndAccessApp) = 0 Then
fAccessWindow = False
End If
If IsWindowVisible(hWndAccessApp) = 1 Then
fAccessWindow = True
End If
End If
End Function

سپس در رخداد On Load فرم خود كد زير را كپي نماييد:

Private Sub Form_Load()
HideForm = fAccessWindow("hide", False, False)
End Sub
در كد بالا كليه مواردي 1و2و3 اعمال مي شود و با تغيير گزينه hide به گزينه هاي NORMAL ، Minimize ، MAXIMIZe موارد دلخواه شما در دسترس مي باشد .

با تشكر

EBRAHIMIEKOKDARAGHI
سه شنبه 25 بهمن 1390, 12:47 عصر
از راهنمايي شما بسيار تشكر ميكنم

انگوران
چهارشنبه 03 اسفند 1390, 10:17 صبح
با سلام، ضمن تشكر از bita_ziba77 در صورت امكان يه نمونه فايل ساده شامل ريبوني كه يه فرم رو باز كنه اينجا قرار بدين. با سپاس مجدد