اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر
منذ ساعه, ابو عبدلله said:

هل بالامكان جعل خلفية النموذج شفافة مثل التكست بوكس او اي كائن آخر  ؟؟

اتفضل اليك هذه الوحدة النمطية
قم بعمل نسخ هذا الى وحدة نمطية
 

Option Compare Database

Option Explicit

Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function UpdateLayeredWindow Lib "user32" (ByVal hwnd As Long, ByVal hdcDst As Long, pptDst As Any, psize As Any, ByVal hdcSrc As Long, pptSrc As Any, crKey As Long, ByVal pblend As Long, ByVal dwFlags As Long) 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

Private Const GWL_EXSTYLE = (-20)
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const ULW_COLORKEY = &H1
Private Const ULW_ALPHA = &H2
Private Const ULW_OPAQUE = &H4
Private Const WS_EX_LAYERED = &H80000

Public Function isTransparent(ByVal hwnd As Long) As Boolean
On Error Resume Next
Dim Msg As Long
Msg = GetWindowLong(hwnd, GWL_EXSTYLE)
If (Msg And WS_EX_LAYERED) = WS_EX_LAYERED Then
  isTransparent = True
Else
  isTransparent = False
End If
If Err Then
  isTransparent = False
End If
End Function

Public Function MakeTransparent(ByVal hwnd As Long, Perc As Integer) As Long
Dim Msg As Long
On Error Resume Next
If Perc < 0 Or Perc > 255 Then
  MakeTransparent = 1
Else
  Msg = GetWindowLong(hwnd, GWL_EXSTYLE)
  Msg = Msg Or WS_EX_LAYERED
  SetWindowLong hwnd, GWL_EXSTYLE, Msg
  SetLayeredWindowAttributes hwnd, 0, Perc, LWA_ALPHA
  MakeTransparent = 0
End If
If Err Then
  MakeTransparent = 2
End If
End Function

Public Function MakeOpaque(ByVal hwnd As Long) As Long
Dim Msg As Long
On Error Resume Next
Msg = GetWindowLong(hwnd, GWL_EXSTYLE)
Msg = Msg And Not WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, Msg
SetLayeredWindowAttributes hwnd, 0, 0, LWA_ALPHA
MakeOpaque = 0
If Err Then
  MakeOpaque = 2
End If
End Function

وفي نموذج عند تحميل اكتب هذا

Private Sub Form_Load()
' غير في الرقم
	Call MakeTransparent(Me.hwnd, 150)
End Sub

ولكي تتحكم بدرجة شفافية اكثر او اقل غير رقم 150 الى الاسفل او اعلى 

تحياتي

  • Like 1
  • Thanks 1
قام بنشر
منذ ساعه, Shivan Rekany said:

اتفضل اليك هذه الوحدة النمطية

لك كل الشكر والدعاء استاذ شفان على الاهتمام والرد الاكثر من رائع 

وفد جربت الوحدة النمطية ولكن تقوم باخفاء النموذج بالكامل ولكن ما اريده ان كان بالامكان هو خلفية النموذج فقط هل نستطيع اخفائها دون العناصر الاخرى ؟؟

مع كل التقدير اخي شفان

قام بنشر
35 دقائق مضت, ابو عبدلله said:

وفد جربت الوحدة النمطية ولكن تقوم باخفاء النموذج بالكامل ولكن ما اريده ان كان بالامكان هو خلفية النموذج فقط هل نستطيع اخفائها دون العناصر الاخرى ؟

نعم اليك هذا الرابط
https://access-programmers.co.uk/forums/showthread.php?t=134027
بها هذه القاعدة وفيها ما تريد
 

ACC2000 Concept App 08-17.mdb

  • Thanks 2
قام بنشر
2 ساعات مضت, Shivan Rekany said:

الیک هذا

السلام عليكم استاذ شفان في المرفق يقوم باخفاء النموذج بالكامل إلا نستيطع اخفاء النموذج اي الاطار مع الخلفية وابقاء العناصر 

المستطيل وما امامه فقط ظاهر ؟؟

مع كل الاحترام

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information