ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 17:37

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2009年1月12日(月) 23:40 
こんばんは、たまにお世話になっています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で失敗してしまいます。


通報する
ページトップ
   
 記事の件名: 自己解決
投稿記事Posted: 2009年1月13日(火) 22:20 
本日、ふと目についた部分が原因ではないかと書き換えてみたら動きました。
まだ、動作として理解できていない部分もありますが一先ずは解決しました。
お騒がせ致しました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,"描画失敗","大アイコン"


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: Ahrefs [Bot] & ゲスト[18人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean