電子工作キット Arduino のプログラミングソフト Arduino IDE

 

従来のソフトは、配色を手動で変更しなければならない。

 

 最近は、テーマ(配色)をダークテーマにすることが多い。

 眼の疲れとか、そんな理由で。

 

 

 こんな風にしたい思うユーザーは多い。

 

テキストファイルの中に書かれている #ff3e3e みたいな16進数コードを見て、変更できる人は多分いない。

 

 それで、視覚的に配色を変更できるフリーソフトを作りました。

 

 

フリーソフトの外観

 

 公式サイトはこちら。

 


http://yoyontek-develop.minim.ne.jp/ardui-th-editor/

 

 

 配色のキー項目がたくさんあって、変更したい色を以下の感じで変更可能。

 

 

 

 


*************************************************************
Windows用フリーソフト(無料)総合サイト
http://yoyontek-develop.minim.ne.jp/
-------------------------------------------------------------
(1) 【 背景透過&境界線お掃除 】
http://yoyontek-develop.minim.ne.jp/clean-pic-fringe/
画像ファイルの背景を透過させ、境界線の汚れを除去(PNG対応)
-------------------------------------------------------------
(2) 【 休憩タイムアラート for KIDS 】
http://yoyontek-develop.minim.ne.jp/alert-kids/
子供のゲーム中に休憩時間をお知らせ
-------------------------------------------------------------
(3) 【 ナンプレ用メモ帳 】
http://yoyontek-develop.minim.ne.jp/num-place-memo/
ナンプレの各セルにメモを書き込んで解答をサポートします
-------------------------------------------------------------
(4) 【 Arduino テーマエディター 】
http://yoyontek-develop.minim.ne.jp/ardui-th-editor/
Arduino IDE 1.8.19 のテーマ(色やフォントなど)を視覚的に編集します
*************************************************************

 

 電子工作キット「Arduino IDE」が非常に優秀だ。

 Amazonで購入して、プログラミング用のソフトウェア「Arduino IDE」をインストールしたかったが、英語のWEBサイトで、ややこしい。

 

 まずはホームページ。

 

https://www.arduino.cc/en/software

 

 トップページに行ってしまうと、ここに戻るのに一苦労。

 

 我が家で使用しているのは、

Windows 10 Home Edition (64ビット)

であり、それに合うインストーラーの選択が必要。

 

 

一番上の

「Windows win7 and newer」

を選ぶと、パソコン上にインストーラーがダウンロードされます。

この方法でOK。

 

「Windows App」という方を選ぶと、Microsoft Store から直接インストール。

あまり評判よろしくないので、選ばない。

 

環境設定ファイル preferences.txt の場所が異なるらしい。

 

「Windows win7 and newer」選ぶと、次の画面。

 

 

「JUST DOWNLOAD」を選ぶ。

※ 右側選ぶと「お金の寄付」になります

 

arduino-1.8.19-windows.exe

の保存場所を選びます。

 

------------------------------

ちなみに zip ファイルをダウンロードすると、Arduino IDE 全部をごっそりダウンロードしてしまいます。大容量だし、意味なし。ポータブルで持ち運べる?

 

 

 C++でアイコン付きメニューを実現しようとして、昔、オーナードローで全部書き上げた。

 それはそれで完成しているのだが・・・

 

 色々と調べていたら、もっと簡単な方法があった。

 

 結論から言うと、

 

   
MENUITEMINFO mii ;
mii.cbSize = sizeof(MENUITEMINFO) ;
mii.fMask = MIIM_BITMAP;
mii.hbmpItem = hBitmap ;
SetMenuItemInfo(hMenu , uItem , fByPosition , &mii) ;

でいい。

 

 アイコンを描画したビットマップを用意して、上記のように指定してあげれば、それでいい。

 

 今まで何十年と、何していたんだろう。

 

 アイコンを描画したビットマップを用意する方法で、「透過」部分を作ることが大切。ビットマップだと、不透明度をつけないといけないから、32ビットで作る必要あり。

 

 ということで、

HBITMAP CreateDIBSection(
  HDC hdc,          // handle to device context
  CONST BITMAPINFO *pbmi,
                    // pointer to structure containing bitmap size, 
                    // format, and color data
  UINT iUsage,      // color data type indicator: RGB values or 
                    // palette indexes
  VOID *ppvBits,    // pointer to variable to receive a pointer to 
                    // the bitmap's bit values
  HANDLE hSection,  // optional handle to a file mapping object
  DWORD dwOffset    // offset to the bitmap bit values within the 
                    // file mapping object
);

を使用。

 

hBitmap = CreateDIBSection(

                       hdc ,

                       &bmpInfo ,

                       DIB_RGB_COLORS ,

                       (void**)&lpPixel ,

                       NULL ,

                       0

                  ) ;

と、こんな感じ。

 void** のところは、直接操作する場合に必要だが、今回は不要。

2つめの引数については、次回に。