Makale numarası: 184297 - Son Gözden Geçirme: 15 Temmuz 2004 Perşembe - Gözden geçirme: 2.3

Her zaman, bir form oluşturma üstte kalır.

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bir özellik veya yöntem en üstteki pencere bir form oluşturmak için Microsoft Visual Basic sağlamamaktadır. Bu davranış, SetWindowPos Win32 API kullanarak elde edilebilir.

Bu makalede, formu SetWindowPos Win32 API kullanarak en üstteki pencere olarak ayarlama gösterilmiştir.

Daha fazla bilgi

Aşağıdaki örnek kodu SetTopMostWindow adında bir işlevi kullanır. SetTopMostWindow işlevi, bir pencereyi en üstteki bir pencere olarak veya iki parametre (hwnd ve kendisine geçirilen Topmost, temel, normal bir pencere olarak ayarlar.

Hwnd parametresi, en üstteki veya normal olarak ayarlamak için pencerenin tanıtıcıyı belirtir.

En üstteki parametresi, formun en üstteki veya normal olarak ayarlamak belirtir. Değer true ise, işlev, formun her zaman üstte kalmasını ayarlar. Değer false ise, işlev, form normal bir pencere olarak ayarlar.

Adım adım örnek

  1. Yeni bir standart exe DOSYASı proje başlatın. Varsayılan olarak, Form1 oluşturulur.
  2. Iki komut düğmeleri (Command1 ve Command2) Form1'e ekleyin.
  3. Command1 "Her zaman üstte." için <a1>Başlık</a1> özelliğini ayarlayın
  4. "Normal" için Command2 <a1>Başlık</a1> özelliğini ayarlayın
  5. Aşağıdaki kodu Form1 Beyanname bölümünde yerleştirin:
          Option Explicit
    
          Private Sub Command1_Click()
             Dim lR As Long
             lR = SetTopMostWindow(Form1.hwnd, True)
          End Sub
    
          Private Sub Command2_Click()
             Dim lR As Long
             lR = SetTopMostWindow(Form1.hwnd, False)
          End Sub
    
    					
  6. Proje) menüsünde Add yeni bir modül projeye eklemek için modülü,'ı tıklatın.
  7. Yeni modüle aşağıdaki kodu ekleyin:
          Option Explicit
          Public Const SWP_NOMOVE = 2
          Public Const SWP_NOSIZE = 1
          Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
          Public Const HWND_TOPMOST = -1
          Public Const HWND_NOTOPMOST = -2
    
          Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos"  _
                (ByVal hwnd As Long, _
                ByVal hWndInsertAfter As Long, _
                ByVal x As Long, _
                ByVal y As Long, _
                ByVal cx As Long, _
                ByVal cy As Long, _
                ByVal wFlags As Long  ) As Long
    
          Public Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) _
             As Long
    
             If Topmost = True Then 'Make the window topmost
                SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, _
                   0, FLAGS)
             Else
                SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, _
                   0, 0,FLAGS)
                SetTopMostWindow = False
             End If
          End Function
    
    					

    Not: Yukarıdaki örnek kodda, bir satır devam karakter olarak bir satır sonunda alt çizgi (_) kullanılır.

  8. F5 tuşuna basarak projeyi çalıştırın.
"Her zaman üstte" komut düğmesini tıklattığınızda, formunuz en üstteki pencere olur ve her pencerenin üstünde kalır; üzerindeki başka bir pencereyi taşıyamazsınız. "Normal" düğmesini tıklattığınızda, form normal olarak davranır (diğer pencerelerin üstünde, taşıyabilirsiniz).

Referanslar

Ek bilgi için lütfen aşağıdaki Microsoft Knowledge Base'deki makaleleri bakın:
84251  (http://support.microsoft.com/kb/84251/EN-US/ ) Visual Basic'te en üstteki veya kayan bir pencere oluşturma

150233  (http://support.microsoft.com/kb/150233/EN-US/ ) Hata: En üstteki pencere tasarım ortamında üstte kalın.
Ayrıca VB\Samples\CallDlls klasöründe bulunan örnek proje CallDlls, görüntüleyin. CallDlls örnek form en üstteki pencere olarak ayarlamak için kodu ve örnek gösterilmiştir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Anahtar Kelimeler: 
kbmt kbhowto KB184297 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:184297  (http://support.microsoft.com/kb/184297/en-us/ )