Userformda Çarpı işaretini kaldırma

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Userformda Çarpı işaretini kaldırmak mümkünmüdür
işlevini yitirmesinden değil tamamen görünmez olmasından bahsediyorum.
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Elimde bir kod var;

Private Declare Function GetWindowLongA Lib "User32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "User32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "User32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub UserForm_Initialize()
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") & "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sn ECYAVUZ kodlarınız sadece "X" işaretini kaldırıyor ilk amacım buydu teşekkür ederim.


bende başka yerden bir kod buldum, başlığı (mavialan) ve "x" işaretini kaldırıyor.

Kod:
'===============================================================================================================>>>>
'Kaynak: www.Excel.Web.tr/Ali                                                                                   '||>
'Amaç: Userform üzerinde Başlık(Mavi Alan) ve Çarpı işaretinin gözükmemesi                                      '||>
'Nerede: Userform kod sayfasının en üzerinde olacak                                                             '||>
'Link: http://www.excel.web.tr/showthread.php?t=22097&highlight=userform+kapat                                  '||>
'Açıklama: hsayar                                                                                               '||>
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 Baslikalan&, Region&                                                                                    '||>
Private HauptBasliksiz&, ClientBasliksiz&                                                                       '||>
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 Basliksiz(Form As Object, Alanayari As RECT, Alanayar As RECT)                                      '||>
    Dim Fenstername$, Suchstring$                                                                               '||>
    Suchstring = "UserForm ohne Titelzeile"                                                                     '||>
    Fenstername = Form.Caption                                                                                  '||>
    Form.Caption = Suchstring                                                                                   '||>
    HauptBasliksiz = FindWindow(vbNullString, Suchstring)                                                       '||>
    Form.Caption = Fenstername                                                                                  '||>
    ClientBasliksiz = GetWindow(HauptBasliksiz, GW_CHILD)                                                       '||>
    dummy = GetWindowRect(HauptBasliksiz, Alanayari)                                                            '||>
    dummy = GetWindowRect(ClientBasliksiz, Alanayar)                                                            '||>
End Sub                                                                                                         '||>
Sub Baslikayari()                                                                                               '||>
    Dim Alanayari  As RECT                                                                                      '||>
    Dim Alanayar As RECT                                                                                        '||>
    Dim Pos1x&, Pos1y&, Pos2x&, Pos2y&                                                                          '||>
    If Baslikalan <> 0 Then Exit Sub                                                                            '||>
    UserForm1.BorderStyle = fmBorderStyleSingle                                                                 '||>
    Call Basliksiz(UserForm1, Alanayari, Alanayar)                                                              '||>
    Pos1x = 0                                                                                                   '||>
    Pos1y = (Alanayar.Top - Alanayari.Top)                                                                      '||>
    Pos2x = Alanayari.Right - Alanayari.Left                                                                    '||>
    Pos2y = Alanayari.Bottom - Alanayari.Top                                                                    '||>
    Region = CreateRectRgn(Pos1x, Pos1y, Pos2x, Pos2y)                                                          '||>
    Baslikalan = SetWindowRgn(HauptBasliksiz, Region, True)                                                     '||>
End Sub                                                                                                         '||>
'===============================================================================================================<<<<

Private Sub UserForm_Initialize()
    Call Baslikayari           'userform ekrana yukar&#305;daki kodlar sayesinde ba&#351;l&#305;ks&#305;z ve &#231;arps&#305;s&#305;z olarak gelir.
End Sub
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Sa&#287;olun ben de sizin kodu ar&#351;ive ekledim hemen...
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Not ilk kodlarda kodlar sadece Userform1 de &#231;al&#305;&#351;&#305;yordu veya userform1 ge&#231;en yerleri yeni ad ile de&#287;i&#351;tirmek gerekiyordu eksiklik giderilmi&#351;&#351;tir.

Kod:
'===============================================================================================================>>>>
'Kaynak: www.Excel.Web.tr/Ali                                                                                   '||>
'Ama&#231;: Userform &#252;zerinde Ba&#351;l&#305;k(Mavi Alan) ve &#199;arp&#305; i&#351;aretinin g&#246;z&#252;kmemesi                                      '||>
'Nerede: Userform kod sayfas&#305;n&#305;n en &#252;zerinde olacak                                                             '||>
'Link: http://www.excel.web.tr/showthread.php?t=22097&highlight=userform+kapat                                  '||>
'A&#231;&#305;klama: hsayar                                                                                               '||>
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 Baslikalan&, Region&                                                                                    '||>
Private HauptBasliksiz&, ClientBasliksiz&                                                                       '||>
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 Basliksiz(Form As Object, Alanayari As RECT, Alanayar As RECT)                                      '||>
    Dim Fenstername$, Suchstring$                                                                               '||>
    Suchstring = "UserForm ohne Titelzeile"                                                                     '||>
    Fenstername = Form.Caption                                                                                  '||>
    Form.Caption = Suchstring                                                                                   '||>
    HauptBasliksiz = FindWindow(vbNullString, Suchstring)                                                       '||>
    Form.Caption = Fenstername                                                                                  '||>
    ClientBasliksiz = GetWindow(HauptBasliksiz, GW_CHILD)                                                       '||>
    dummy = GetWindowRect(HauptBasliksiz, Alanayari)                                                            '||>
    dummy = GetWindowRect(ClientBasliksiz, Alanayar)                                                            '||>
End Sub                                                                                                         '||>
Sub Baslikayari()                                                                                               '||>
    Dim Alanayari  As RECT                                                                                      '||>
    Dim Alanayar As RECT                                                                                        '||>
    Dim Pos1x&, Pos1y&, Pos2x&, Pos2y&                                                                          '||>
    If Baslikalan <> 0 Then Exit Sub                                                                            '||>
    [B][color="red"]Me[/color][/B].BorderStyle = fmBorderStyleSingle                                                                 '||>
    Call Basliksiz([B][color="red"]Me[/color][/B], Alanayari, Alanayar)                                                              '||>
    Pos1x = 0                                                                                                   '||>
    Pos1y = (Alanayar.Top - Alanayari.Top)                                                                      '||>
    Pos2x = Alanayari.Right - Alanayari.Left                                                                    '||>
    Pos2y = Alanayari.Bottom - Alanayari.Top                                                                    '||>
    Region = CreateRectRgn(Pos1x, Pos1y, Pos2x, Pos2y)                                                          '||>
    Baslikalan = SetWindowRgn(HauptBasliksiz, Region, True)                                                     '||>
End Sub                                                                                                         '||>
'===============================================================================================================<<<<

Private Sub UserForm_Initialize()
    Call Baslikayari           'userform ekrana yukar&#305;daki kodlar sayesinde ba&#351;l&#305;ks&#305;z ve &#231;arps&#305;s&#305;z olarak gelir.
End Sub
 
Katılım
31 Mayıs 2006
Mesajlar
62
&#199;o&#231; g&#252;zel bi &#231;al&#305;&#351;ma, ellerinize sa&#287;l&#305;k.

peki &#199;arp&#305; kapatma tu&#351;una bas&#305;ld&#305;&#287;&#305;nda "verileri kaydedi&#287;im mi?" diye bi soru &#231;&#305;kartabilir miyiz?

yani &#199;arp&#305; tu&#351;una i&#351;lev eklemek m&#252;mk&#252;n m&#252;?
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
604
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
&#199;o&#231; g&#252;zel bi &#231;al&#305;&#351;ma, ellerinize sa&#287;l&#305;k.

peki &#199;arp&#305; kapatma tu&#351;una bas&#305;ld&#305;&#287;&#305;nda "verileri kaydedi&#287;im mi?" diye bi soru &#231;&#305;kartabilir miyiz?

yani &#199;arp&#305; tu&#351;una i&#351;lev eklemek m&#252;mk&#252;n m&#252;?

Tabiki m&#252;mk&#252;n a&#351;a&#287;&#305;daki kodu denermesiniz

Kod:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
   If MsgBox("Se&#231;ili Kay&#305;t De&#287;i&#351;tirilsinmi?", vbYesNo) = vbNo Then Exit Sub
'Di&#287;er Kodlar&#305;n&#305;z&#305; Buraya Yaz&#305;n&#305;z

End Sub
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
A&#351;a&#287;&#305;daki kodlar ile istedi&#287;iniz t&#252;m userformlardan &#231;a&#287;r&#305;labiliyor

YEN&#304; MODULE
Kod:
Public Declare Function GetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Sub X_yok(Form As Object)
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") & "Frame", Form.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
USERFORMLARDA
Kod:
Private Sub UserForm_Initialize()
Call X_yok(Me)
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub
 
Üst