jump to navigation

Topmost Windows: Meletakan Windows agar selalu diatas window yang lain Sat - Jun 17, 2000

Posted by supriyatna in Programming, Windows.
Tags: , , ,
trackback

Program ini digunakan untuk meletakan Window yang diinginkan agar selalu berada di atas window lain (Always on Top), sekalipun window yang bersangkutan sedang tidak berstatus Active. Contoh Program yang menggunakan fasilitas ini adalah Player MP3, WinAmp.

Untuk hal ini digunakan API (Application Program Interface) dengan mendeklarasikannya pada level Module. yaitu dengan memanfaatkan Fungsi SetWindowPos() yang berada pada file pustaka (Library) User32.dll.

Fungsi ini akan mengembalikan nilai bertipe Long. Yang mana nilainya 0 jika terjadi kegagalan dan 0 jika fungsi ini berhasil dijalankan. Parameter yang digunakan:

  • hWnd, Handle dari window yang ingin di set.
  • hWndInsertAfter, Identifikasi dari posisi window. HWND_TOPMOST jika ingin Form selalu berada diatas.
  • x; y, Posisi window dari kiri dan atas layar (dalam pixel).
  • cx; cy, Lebar dan tinggi window (dalam satuan pixel).
  • wFlags, Flag untuk menentukan ukuran dan posisi window. Diantaranya SWP_NOMOVE (&H2) yang akan mengabaikan nilai dari x dan y. SWP_NOSIZE (&H1) yang akan mengabaikan nilai dari cx dan cy.
Public Declare Function SetWindowPos Lib "user32" _
  (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

' Deklarasi Konstanta untuk keperluan Argument yang akan di
' diberikan pada fungsi SetWindowPos()

Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1

Sub Main()
Dim hWnd As Long
  hWnd = SetWindowPos(frmOnTop.hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
    SWP_NOSIZE Or SWP_NOMOVE)
  ' Cek apakah Fungsi yang dijalankan berhasil?
  If hWnd = 0 Then
    MsgBox "Setting Window gagal!", vbCritical, "Gagal"
  Else
    frmOnTop.Show
  End If

End Sub

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: