記事一覧
ボタンの配置 - Rustで作るWindowsアプリ
ボタンを配置する
Windows APIでボタンを配置するにはボタン用のウィンドウを子ウィンドウとして作成し配置します。WM_CREATE
でボタンを作成しWM_PAINT
でボタンを描画します。基本的にはラベルの作成とやることは一緒ですが、ボタンではボタンをクリックしたときのメッセージを処理する必要があります。ここではボタンがクリックされたらメッセージボックスを表示する、という処理を行いたいと思います。
ウィンドウプロシージャ内にボタン用の変数を作る
(省略されました)
フォントのサイズの変更 - Rustで作るWindowsアプリ
フォントのサイズの変更
ラベルなどの静的コントロールのフォントのサイズを変更するには以下の手順で行います。
- SendMessageW関数でウィンドウからフォントを取得する
- GetObjectW関数でフォントのロジカル情報を取得する
- CreateFontIndirectW関数で新しいフォントを作成する
- SendMessageW関数でウィンドウに新しいフォントを設定する
(省略されました)
ラベルの色を変える - Rustで作るWindowsアプリ
ラベルの前景色、背景色を変える
静的コントロールとしてラベルを配置するとラベルの色を変えたいということがあります。
ラベルの色ですがWindows APIにおける静的コントロールの色の変更方法は少し独特と言えます。
これはWM_CTLCOLORSTATIC
メッセージを処理してこのメッセージが送られてきた時に静的コントロールの色を変更します。
WM_CTLCOLORSTATIC
ではすべての静的コントロールの色を一括で変更することもできますし、特定のコントロールの色を変えることも可能です。
(省略されました)
テキストの前景色と背景色の変更 - Rustで作るWindowsアプリ
テキストの前景色と背景色の変更
Windows API(windows-rs
)でテキストの前景色と背景色を変更するには以下の2つの関数を使います。
- SetTextColor関数 ... テキストの前景色の変更
- SetBkColor関数 ... テキストの背景色の変更
これらの関数はテキストの描画前に呼び出し、あらかじめテキストの色を設定しておきます。テキストの描画が済んだらまた元の色に戻しておきます。つまり
(省略されました)
改行付きの文字列を描画する - Rustで作るWindowsアプリ
改行付きの文字列を描画する
TextOutW
関数は実は改行を処理できません。改行を入れても表示で改行されないので困ったもんです。
そこで登場するのがDrawTextW
関数です。この関数は改行を処理して表示上でもちゃんと文字列を改行してくれます。
また指定した矩形領域の範囲で自動で折り返してくれますので使い勝手がいいです。
ここではDrawTextW
関数の使い方について解説します。
(省略されました)