Başlıksız UserForm

Katılım
27 Aralık 2019
Mesajlar
66
Excel Vers. ve Dili
Microsoft10
Selamlar, Başlıksız User Form için aşağıdaki kodu buldum fakat KIRMIZI ile işaretlediğim tarafınıza gönderilen kod kısmı User Form kod bölümünde de KIRMIZI olarak çıkıyor hata veriyor sebebi nedendir? Yada başlıksız UserForm Kodu varmı çalışan yada neden çalışmıyor.

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
ByVal wCmd As Long) As Long

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As _
Long, lpRect As RECT) As Long

Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long


Private FensterRegion&, Region&
Private Hauptfensternummer&, Clientfensternummer&
Private dummy As Long

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Const GW_CHILD = 5
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2

Private Sub CommandButton1_Click()
End
End Sub

Private Sub UserForm_Initialize()
Call pirullah
End Sub
Sub pirullah()
Dim Abmessung As RECT
Dim Abmessung1 As RECT
Dim Pos1x&, Pos1y&, Pos2x&, Pos2y&
If FensterRegion <> 0 Then Exit Sub
UserForm2.BorderStyle = fmBorderStyleSingle
Call Fensternummer(UserForm2, Abmessung, Abmessung1)
Pos1x = 0
Pos1y = (Abmessung1.Top - Abmessung.Top)
Pos2x = Abmessung.Right - Abmessung.Left
Pos2y = Abmessung.Bottom - Abmessung.Top
Region = CreateRectRgn(Pos1x, Pos1y, Pos2x, Pos2y)
FensterRegion = SetWindowRgn(Hauptfensternummer, Region, True)
End Sub

Private Sub Fensternummer(Form As Object, Abmessung As RECT, Abmessung1 As RECT)
Dim Fenstername$, Suchstring$
Suchstring = "UserForm ohne Titelzeile"
Fenstername = Form.Caption
Form.Caption = Suchstring
Hauptfensternummer = FindWindow(vbNullString, Suchstring)
Form.Caption = Fenstername
Clientfensternummer = GetWindow(Hauptfensternummer, GW_CHILD)
dummy = GetWindowRect(Hauptfensternummer, Abmessung)
dummy = GetWindowRect(Clientfensternummer, Abmessung1)
End Sub
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
499
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Merhabalar, 64 bit excel kullanıyorsanız kırmızı çıkar,
kırmızı yazan yerlerdeki Function kelimelerinden önce ;
PtrSafe
yazarsanız düzelir.

Ör:
Private Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As Long, _
ByVal wCmd As Long) As Long

İyi çalışmalar...
 
Katılım
27 Aralık 2019
Mesajlar
66
Excel Vers. ve Dili
Microsoft10
Merhabalar, 64 bit excel kullanıyorsanız kırmızı çıkar,
kırmızı yazan yrlerdeki Function kelimelerinden önce ;
PtrSafe
yazarsanız düzelir.

Ör:
Private Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As Long, _
ByVal wCmd As Long) As Long

İyi çalışmalar...
Teşekkür ederim. Hocam bilgine sağlık
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
499
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Rica ederim. İyi çalışmalar
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bence çok albenisine kapılmayın başlıksız userformun.
Ben standart vba kodları dışında api lere pek bağlanmıyom.
Sonra başka bir kod yazarsanız çakışma ihtimali olabiliyor.
 
Katılım
27 Aralık 2019
Mesajlar
66
Excel Vers. ve Dili
Microsoft10
Bence çok albenisine kapılmayın başlıksız userformun.
Ben standart vba kodları dışında api lere pek bağlanmıyom.
Sonra başka bir kod yazarsanız çakışma ihtimali olabiliyor.
Tavsiyen için sağol hocam bilgi bilgidir.
 
Üst