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

投稿日: 2004/03/31(Wed) 16:05
投稿者おじん
URL
タイトルRe^2: 回避はできたが、、、

MSDNに丁度いいサンプルがあり「回避の方法」は解決しました。
ありがとうございました。が、新たな問題(疑問)が発生しました。
蛇足ですが、書き換えたソースを載せます。

'イメージを読みこむ
    Dim n%
    Dim imgX As ListImage
    For n = 0 To 108
        gifName = App.Path & "\genso\" & _
                CStr(n + 1) & gTbl(n).sign & ".ico"
        Set imgX = ImageList1.ListImages. _
                            Add(, , LoadPicture(gifName))'<---ここを変えた
    Next n
End Sub

'イメージを表示
    Dim n%
    'Picture1.ScaleMode = vbPixels
    ' MaskColor を設定します。これが透過になります。
    ImageList1.MaskColor = vbWhite
    For n = 0 To 108
        ' MaskColor を透過色としてイメージを描画します。
        ImageList1.ListImages(n + 1).Draw Picture1.hdc, _
                    gTbl(n).X, gTbl(n).Y, imlTransparent'<---ここも変えた
        ' イメージを標準スタイルで描画します。
        'ImageList1.ListImages(1).Draw Picture1.hdc, g, g, imlNormal
        ' 選択スタイルでイメージを描画します。
        'ImageList1.ListImages(1).Draw Picture1.hdc, g, g, imlSelected
        ' フォーカス スタイルでイメージを描画します。
        'ImageList1.ListImages(1).Draw Picture1.hdc, g, g, imlFocus
    Next n
    Picture1.Refresh
End Sub

新たな問題とは、表示位置(x,y)が思うところ(gTbl(n).X,gTbl(n).Y)にならない。
(先のソースの時にgTblの値が正しいことは確認済みです)
それで次のようにしてテストをしてみたが、やはり思うところ(X,Y)には表示されない。
PictureBoxの原点(左上)近くに集まります。値をDisplayしてみると正しい値なので
すが、、、。

Private Sub Picture1_MouseUp( _
        Button As Integer, Shift As Integer, _
        X As Single, Y As Single)
    Static n%
    n = n + 1
    ImageList1.MaskColor = vbWhite
    ImageList1.ListImages(n).Draw Picture1.hdc, X, Y, imlTransparent
    Picture1.Refresh
End Sub

よろしくご指導のほどをお願いいたします。


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

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

- Web Forum -