作成者 |
メッセージ |
|
|
本日、ふと目についた部分が原因ではないかと書き換えてみたら動きました。
まだ、動作として理解できていない部分もありますが一先ずは解決しました。
お騒がせ致しましたm(__)m
コード: '成功
if DrawIconEx(hpDC, 10,10,bgicon,32,32,0,0,DI_NORMAL)=FALSE then msgbox hMainWnd,"描画失敗","小アイコン"
if DrawIconEx(hpDC,100,10,smicon,32,32,0,0,DI_NORMAL)=FALSE then msgbox hMainWnd,"描画失敗","大アイコン"
本日、ふと目についた部分が原因ではないかと書き換えてみたら動きました。 まだ、動作として理解できていない部分もありますが一先ずは解決しました。 お騒がせ致しましたm(__)m
[code]'成功 if DrawIconEx(hpDC, 10,10,bgicon,32,32,0,0,DI_NORMAL)=FALSE then msgbox hMainWnd,"描画失敗","小アイコン" if DrawIconEx(hpDC,100,10,smicon,32,32,0,0,DI_NORMAL)=FALSE then msgbox hMainWnd,"描画失敗","大アイコン"[/code]
|
|
|
投稿記事 |
Posted: 2009年1月13日(火) 22:20 |
|
|
|
|
|
こんばんは、たまにお世話になっていますkoboです。
ウィンドウのバックに絵を貼り付ける事は、なんとなく出来るようになってきました。
今回は、指定したファイルが持っているアイコンをウィンドウのバックに
描画してみようとチャレンジ中なのですが、DrawIconExが上手くいきません。
どうも根本的に勘違いしているようなのですが
検索も、BackSeachでもアイコンの話題が少なく、解決までに至りませんでした。
いつも力をかりてばかりで申し訳ないのですがご指導いただけませんでしょうか・・・
コード: Sub MainWnd_Paint(hDC As HDC)
Dim bgicon as DWord
Dim smicon as DWord
Dim hpain as HBITMAP
Dim hpDC as HDC
Dim win_xy As RECT
if len(file)<1 then exit sub
ExtractIconEx(file,0,VarPtr(bgicon),VarPtr(smicon),1)
msgbox 0,file,Str$(bgicon)+"#"+Str$(smicon)+"files"
hpDC=CreateCompatibleDC(hDC)
'ウィンドウ座標を取得
GetClientRect(hMainWnd, win_xy)
'ビットマップを作成
hpain=CreateCompatibleBitmap(hDC,Abs(win_xy.left-win_xy.right),Abs(win_xy.top-win_xy.bottom))
if hpain=0 then msgbox hMainWnd,"ビットマップ作成に失敗しました","失敗"
'デバイスコンテキストにビットマップを選択
if SelectObject(hpDC,hpain)=0 then msgbox hMainWnd,"セレクト失敗","失敗"
if DrawIconEx(hpDC, 10,10,VarPtr(bgicon),0,0,0,0,DI_DEFAULTSIZE)=FALSE then msgbox hMainWnd,"描画失敗","小アイコン"
if DrawIconEx(hpDC,100,10,VarPtr(smicon),0,0,0,0,DI_DEFAULTSIZE)=FALSE then msgbox hMainWnd,"描画失敗","大アイコン"
BitBlt(hDC,0,0,Abs(win_xy.left-win_xy.right),Abs(win_xy.top-win_xy.bottom),hpDC,0,0,SRCCOPY)
DestroyIcon(bgicon)
DestroyIcon(smicon)
ReleaseDC(hMainWnd,hpain)
DeleteObject(hpain)
End Sub
DrawIconで失敗してしまいます。
こんばんは、たまにお世話になっていますkoboです。
ウィンドウのバックに絵を貼り付ける事は、なんとなく出来るようになってきました。 今回は、指定したファイルが持っているアイコンをウィンドウのバックに 描画してみようとチャレンジ中なのですが、DrawIconExが上手くいきません。 どうも根本的に勘違いしているようなのですが 検索も、BackSeachでもアイコンの話題が少なく、解決までに至りませんでした。 いつも力をかりてばかりで申し訳ないのですがご指導いただけませんでしょうか・・・
[code]Sub MainWnd_Paint(hDC As HDC)
Dim bgicon as DWord Dim smicon as DWord
Dim hpain as HBITMAP Dim hpDC as HDC
Dim win_xy As RECT
if len(file)<1 then exit sub ExtractIconEx(file,0,VarPtr(bgicon),VarPtr(smicon),1) msgbox 0,file,Str$(bgicon)+"#"+Str$(smicon)+"files"
hpDC=CreateCompatibleDC(hDC) 'ウィンドウ座標を取得 GetClientRect(hMainWnd, win_xy)
'ビットマップを作成 hpain=CreateCompatibleBitmap(hDC,Abs(win_xy.left-win_xy.right),Abs(win_xy.top-win_xy.bottom))
if hpain=0 then msgbox hMainWnd,"ビットマップ作成に失敗しました","失敗" 'デバイスコンテキストにビットマップを選択 if SelectObject(hpDC,hpain)=0 then msgbox hMainWnd,"セレクト失敗","失敗"
if DrawIconEx(hpDC, 10,10,VarPtr(bgicon),0,0,0,0,DI_DEFAULTSIZE)=FALSE then msgbox hMainWnd,"描画失敗","小アイコン" if DrawIconEx(hpDC,100,10,VarPtr(smicon),0,0,0,0,DI_DEFAULTSIZE)=FALSE then msgbox hMainWnd,"描画失敗","大アイコン"
BitBlt(hDC,0,0,Abs(win_xy.left-win_xy.right),Abs(win_xy.top-win_xy.bottom),hpDC,0,0,SRCCOPY)
DestroyIcon(bgicon) DestroyIcon(smicon) ReleaseDC(hMainWnd,hpain) DeleteObject(hpain)
End Sub[/code]
DrawIconで失敗してしまいます。
|
|
|
投稿記事 |
Posted: 2009年1月12日(月) 23:40 |
|
|
|
|