最小化→元のサイズに戻すとHWND_TOPMOSTが解除される原因は?


まいろ  2007-04-24 19:02:52  No: 136200

下記のコードを記入したフォームモジュールにコンボボックス(プロパティはデフォルト)を貼り付けた状態で、実行ファイルを作成します。
すると、起動時にはフォームを最前面で固定することができますが、最小化→元のサイズに戻す操作を行うと、最前面での固定が解除されてしまいます。
リストボックスを配置したときや、デバック時には確認できない現象なのですが、原因をご存知の方はみえますか?(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
'---------------------------------------------------------------------


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加