...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

2023-03-01から1ヶ月間の記事一覧

DFL: ToolBarのサンプルコード

ツールバーのサンプルコードです。 長くなるのでソースコードはこちらにリンクを張っておきます。 https://github.com/Rayerd/dfl/tree/master/examples/toolbar/source 下図の左から、普通のボタン、トグルボタン、セパレータ(区切り)、ドロップダウンボ…

DFL: ContextMenuのサンプルコード

コンテキストメニューのサンプルです。 特に難しいことはないですね。 ただ、mouseDownイベントを使って右クリックを検出した方が、DFLらしいかもしれません。 import dfl; import core.sys.windows.windows; version(Have_dfl) // For DUB. { } else { prag…

DFL: Timerのサンプルコード

Timerクラスのサンプルコードです。 Startボタンでカウントアップ開始、Stopボタンで停止します。 import dfl; import std.conv; version(Have_dfl) // For DUB. { } else { pragma(lib, "dfl.lib"); } class MainForm : Form { private Label _label; priva…

DFL: NotifyIconのサンプルコード

NotifyIconのサンプルコードです。 NotifyIconというのは、タスクバーに出るアイコンです。 上のスクリーンショットで右端にあるフェイスマークを表示しています。 import dfl; class MainForm : Form { private NotifyIcon _notifyIcon; public this() { th…

HBITMAP(DDB)からBITMAPINFO(DIB)を得る

GetDIBits()を使う、以上。 で終わる話なのですが、BITMAPINFOを作成するために必要なメモリサイズを算出するのに手こずったので、結果だけ置いておきます。 なお、このコードで作成されるのは、スクリーンショットを撮ったときに得られるビットマップデータ…

BITMAPINFO(DIB)からHBITMAP(DDB)を得る

CreateDIBitmap()を使う、以上。 で終わる話ではあるのですが、パックされたビットマップの場合、BITMAPINFOの先頭アドレスとBITMAPINFOHEADERの内容から、後に続くカラーマスクとカラーパレットのバイト数を算出して、ピクセルデータ列の先頭アドレスを求め…

BITMAPINFOから画像データ全体のバイナリ列を得る

かなり手こずったので結果だけ置いておきます。 ubyte[] getBitmapBuffer(BITMAPINFO* pbi) { assert(pbi); const uint bitsPerPixel = pbi.bmiHeader.biPlanes * pbi.bmiHeader.biBitCount; const uint colorMaskBytes = { if (pbi.bmiHeader.biCompression…

DFL: PictureBoxのサンプルコード

dfl/examples/picturebox at master · Rayerd/dfl · GitHub 画像ファイルを簡単に表示することができるPictureBoxクラスのサンプルです。 Bitmapクラスで読み込める形式の画像ファイルなら表示できるようで、bmp、jpgは表示できました。 未確認ながらgifも可…

DFL: ClippingFormのサンプルコード

https://github.com/Rayerd/dfl/tree/master/examples/clippingform 透過する部分を白色にしたビットマップを与えて、矩形でないウィンドウを作れるClippingFormのサンプルコードです。 ウィンドウタイトル(キャプション)がなく、かつ、常に最前面に表示さ…

DFL: Clipboardのサンプルコード

Clipboardクラスを使ってコピー・アンド・ペーストをする処理のサンプルコードです。 dfl/clipboard_sample.d at master · Rayerd/dfl · GitHub 簡単な使い方 長くなるのでここにサンプルコードを転記するのは止めておきますが、簡単に使い方を示します。 い…