VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/07/29(Tue) 13:38
投稿者Say
Eメール
URL
タイトルRe: 代替案

> > Win2000以降限定でよければレイヤードウィンドウでも可能かと・・・。
> Layered Windowって、コントロール単位ではなく、
> フォーム単位でしか適用できなかったような気がします。(未確認)

私もForm以外で使えるかどうか知りませんので、
だいたいこういう感じで考えてます。

Form1を動かすと、ListBoxが微妙に遅れてついてきますが・・・。 (^_^;

Option Explicit

Private Sub Form_Load()
Dim i As Long
    Form2.Show , Me
    Form2.Left = Me.Left + 1000
    Form2.Top = Me.Top + 1000
    hListBox = Form2.List1.hwnd
    For i = 0 To 25
        Form2.List1.AddItem String(10, Chr(Asc("A") + i))
    Next
    
    ExStyle = GetWindowLong(Form2.hwnd, GWL_EXSTYLE)
    ExStyle = ExStyle Or WS_EX_LAYERED
    SetWindowLong Form2.hwnd, GWL_EXSTYLE, ExStyle
    SetLayeredWindowAttributes Form2.hwnd, vbWhite, 0, LWA_COLORKEY
    Timer1.Interval = 10
    Timer1.Enabled = True
    
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
    Form2.Left = Me.Left + 1000
    Form2.Top = Me.Top + 1000
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -