下記のコードを記入したフォームモジュールにコンボボックス(プロパティはデフォルト)を貼り付けた状態で、実行ファイルを作成します。
すると、起動時にはフォームを最前面で固定することができますが、最小化→元のサイズに戻す操作を行うと、最前面での固定が解除されてしまいます。
リストボックスを配置したときや、デバック時には確認できない現象なのですが、原因をご存知の方はみえますか?(VB6.0 SP6 + WinXP Home)
'---------------------------------------------------------------------
Option Explicit
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private 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
Private Sub Form_Load()
Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub
'---------------------------------------------------------------------
ツイート | ![]() |