DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
	Altın Üyelik Hakkında Bilgi
Bir buton vs... ekleyip ona tıklayıp framenin konumlarını bulup o konum değerlerine göre taşıyın.Denemedim sma olur zannediyorum.Yada buton vs.. eklemeden framenin loyout gibi event vardı orayada yazılabilinir.Merhaba. Ben Userform üzerinde Frame2 içerisinde olmayan herhangi bir nesneyi Frame2 içine almak istiyorum. Bunu o nesneyi silmeden Frame2 içine taşıyabilir miyim? Mümkünse yazabilir misiniz? Teşekkürler.
Rica ederim.Zaten mevcut olanı dediğim yöntemle taşıyabilirsiniz.Denemek için zaman bulunca bir bakarım galiba biraz gelişmiş yöntemlerle fareye basılı tutupa taşınabiliniyor.Cevap için teşekkür ederim. Fakat yeni bir nesne olarak değil de mevcut olanı taşımak istiyordum. Bu yapılabilseydi farklı bir çalışma yapmayı düşünüyordum.
Private Sub UserForm_Layout()
    With Me.CommandButton1
        .Left = Me.Frame1.Left + 5
        .Top = Me.Frame1.Top + 5
    End With
    
    MakeTransparentFrame Frame1, &H1, RGB(240, 240, 240)
End Sub#If VBA7 Then
    Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare PtrSafe Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
    Private Declare PtrSafe Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare PtrSafe Function GetFocus Lib "user32" () As Long
#Else
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    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 GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function GetFocus Lib "user32" () As Long
#End If
Private Const GWL_EXSTYLE As Long = (-20)
Private Const GWL_STYLE As Long = (-16)
Private Const WS_EX_LAYERED = &H80000
Function MakeTransparentFrame(frm As Object, colorKey As Variant, Optional color As Variant, Optional hnd As Long)
    LWA_COLORKEY = colorKey
    
    Dim formhandle As Long
    Dim bytOpacity As Byte
    
    formhandle = Extraithandle(frm)
  
    If IsMissing(color) Then color = &H8000&        '//rgbWhite
    bytOpacity = 200
    
    SetWindowLong formhandle, GWL_EXSTYLE, GetWindowLong(formhandle, GWL_EXSTYLE) Or WS_EX_LAYERED
    
    frm.BackColor = color
    SetLayeredWindowAttributes formhandle, color, bytOpacity, LWA_COLORKEY
    frm.ZOrder 1
End Function
Function Extraithandle(ctrl As Control) As Long
  ctrl.SetFocus
  Extraithandle = GetFocus
End FunctionDim isDragging As Boolean
Dim offsetX As Single
Dim offsetY As Single
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    isDragging = True
    offsetX = X
    offsetY = Y
End Sub
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If isDragging Then
        CommandButton1.Left = CommandButton1.Left + (X - offsetX)
        CommandButton1.Top = CommandButton1.Top + (Y - offsetY)
    End If
End Sub
Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    isDragging = False
    
    ' Komut butonu çerçeve (Frame) içine taşınmışsa işlemi kontrol edin
    If CommandButton1.Left >= Frame1.Left And CommandButton1.Top >= Frame1.Top And _
       CommandButton1.Left + CommandButton1.Width <= Frame1.Left + Frame1.Width And _
       CommandButton1.Top + CommandButton1.Height <= Frame1.Top + Frame1.Height Then
        MsgBox "Buton çerçeve içine taşındı!"
    End If
End Sub
Private Sub UserForm_Activate()
    MakeTransparentFrame Frame1, &H1, RGB(240, 240, 240)
End SubRica ederim.Daha fazlasını bilmiyorum araştırmak gerekiyor.Dediğiniz gibi güzel çalışıyor. Emeğinize sağlık. Fakat nesne her ne kadar Frame1 içine görünse de bu nesneyi Frame1 içine dahil etmiyor sanırım. Ben Frame1 içerisinde bunu bir control nesnesi olarak görebilseydim çok güzel olacaktı. Fakat sanırım böyle bir özellik olmayabilir.
Tam olarak bunu neden istediğinizi ve ne yapmak istediğinizi söylerseniz belki farklı bir yöntem bulunabilir.Dediğiniz gibi güzel çalışıyor. Emeğinize sağlık. Fakat nesne her ne kadar Frame1 içine görünse de bu nesneyi Frame1 içine dahil etmiyor sanırım. Ben Frame1 içerisinde bunu bir control nesnesi olarak görebilseydim çok güzel olacaktı. Fakat sanırım böyle bir özellik olmayabilir.
Frame1.Controls.Add CommandButton1Cevap için teşekkürler. Acaba bu yazdığınız kodları yukarıda nereye yazmamız gerekiyor.Fare bırakıldığında,
ile koleksiyona ekleyin.C#:Frame1.Controls.Add CommandButton1
