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

投稿日: 2003/05/19(Mon) 13:35
投稿者
URLhttp://moonless.infoseek.livedoor.com/
タイトルアイコンの表示

タスクトレイにアイコンを表示し、
そのアイコンをアニメーションしたいのですが、
どうにもアイコンが歪んでしまいます。
これはVBの仕様なのでしょうか。

一般的に自らのアイコンを歪ませずに表示する場合、

AppName = IIf(Right$(App.Path, 1) = "\", App.Path, App.Path & "\") & App.EXEName & ".exe"
lngRtn = ExtractIconEx(AppName, clngMeIconNo, LIcon, SIcon, 1)
    With nIcon
        .cbSize = Len(nIcon)
        .hWnd = hWnd
        .uID = 0
        .uFlags = Flags
        .uCallbackMessage = WM_MOUSEMOVE
        .hIcon = SIcon
        
        Tip = StrConv(Msg & vbNullChar, vbFromUnicode)
        For i = 0 To UBound(Tip)
            .szTip(i) = Tip(i)
        Next i
    End With

    lngRtn = Shell_NotifyIcon(Mode, nIcon)

というふうに、
exeファイルからスモールアイコンウィンドウハンドル(SIcon)を取得し、
NOTIFYICONDATA構造体(nIcon)のhIconにSIconをセットし、
タスクトレイに表示しますよね?

私が行っているやり方では、PictureBoxを使用して、

Dim objPic as StdPicture
Picture1.Picture = LoadPicture(strAniIcoPath , vbLPSmall)
Set StdPicture = Picture1.Picture

のようにobjPicにアイコンデータをセットし、
objPic.Handle
を上記のSIconと同じように使用してアイコンを表示させているのですが、
スモールアイコンを取得したはずなのに、
ラージアイコンを表示させたときのようにアイコンが歪んでしまいます。

これを歪まないように表示させる方法はあるのでしょうか?
それとも私のやり方がおかしいでしょうか?


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

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

- Web Forum -