HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0921
hirokiバツアイコンの描画5解決


hiroki

リンク

2019/9/21(Sat) 13:45:31|NO.88464

OSもどきを作ってる者です。
画像なしで ✖←このようなバツアイコンを作れますか?



この記事に返信する


沢渡

リンク

2019/9/21(Sat) 18:08:34|NO.88472

LoadImageでOEMのアイコンを読み込み、DrawIconExで表示できるようです。
モジュールにしてみました。

#include "user32.as" #module #const OIC_SAMPLE 32512 #const IMAGE_ICON 1 #const LR_SHARED 32768 #const DI_NORMAL 3 #deffunc oemicon_init //最初にこれを実行する dim icon_h,6 repeat 5 LoadImage 0,OIC_SAMPLE+cnt,IMAGE_ICON,0,0,LR_SHARED icon_h(cnt)=stat loop return #define global oemicon(%1=0,%2=32,%3=32,%4=0) _oemicon %1,%2,%3,%4 //oemicon p1,p2,p3,p4 //p1 … アイコンの種類(0〜4) // 0:アイコン未設定の実行ファイル // 1:「×」マーク // 2:「?」マーク // 3:「!」マーク // 4:「i」マーク //p2 … 横幅 //p3 … 縦幅 //p4 … 0以外を指定した場合は画面の更新を行う #deffunc _oemicon int oi_t,int oi_w,int oi_h,int oi_r if (oi_t<0)|(oi_t>4) : return DrawIconEx hdc,ginfo_cx,ginfo_cy,icon_h(oi_t),oi_w,oi_h,0,0,DI_NORMAL if oi_r : redraw 1 return #global //以下サンプル oemicon_init repeat 5 pos 32*cnt,0 oemicon cnt,32,32,(cnt=4) loop



沢渡

リンク

2019/9/21(Sat) 18:10:59|NO.88473

すみません、「dim icon_h,6」は「dim icon_h,5」の間違いです。
実行に問題はありませんが、一応。



hiroki

リンク

2019/9/21(Sat) 18:42:39|NO.88474

ごめんなさい。これって✖だけ表示できますか?()



沢渡

リンク

2019/9/21(Sat) 20:53:46|NO.88479

DrawFrameControlでどうでしょうか。

/* ・DrawFrameControl hDC , lpRect , uType , uState uTypeとuStateについて、詳しくはこちら。 https://www.activebasic.com/help_center/Pages/API/Window/PaintingAndDrawing/DrawFrameControl.htm 定数の実際の数値 http://tokovalue.jp/DrawFrameControl_U.htm */ #include "user32.as" #const DFC_CAPTION 1 #const DFCS_CAPTIONCLOSE 0 #const DFCS_PUSHED 0x200 //ボタンを押した状態にする場合はこれをor(|)で繋ぐ dim rect,4 rect=0,0,32,32 //左上のx座標、左上のy座標、右下のx座標、右下のy座標の順に入れる DrawFrameControl hdc,varptr(rect),DFC_CAPTION,DFCS_CAPTIONCLOSE rect=32,0,64,32 DrawFrameControl hdc,varptr(rect),DFC_CAPTION,DFCS_CAPTIONCLOSE|DFCS_PUSHED redraw 1



hiroki

リンク

2019/9/22(Sun) 05:59:59|NO.88482

お!すごい!ありがとうございました!



ONION software Copyright 1997-2021(c) All rights reserved.