記事一覧
フォントのサイズの変更 - Rustで作るWindowsアプリ
662, 2023-05-14
フォントのサイズの変更
ラベルなどの静的コントロールのフォントのサイズを変更するには以下の手順で行います。
- SendMessageW関数でウィンドウからフォントを取得する
- GetObjectW関数でフォントのロジカル情報を取得する
- CreateFontIndirectW関数で新しいフォントを作成する
- SendMessageW関数でウィンドウに新しいフォントを設定する
(省略されました)
改行付きの文字列を描画する - Rustで作るWindowsアプリ
659, 2023-05-09
改行付きの文字列を描画する
TextOutW
関数は実は改行を処理できません。改行を入れても表示で改行されないので困ったもんです。
そこで登場するのがDrawTextW
関数です。この関数は改行を処理して表示上でもちゃんと文字列を改行してくれます。
また指定した矩形領域の範囲で自動で折り返してくれますので使い勝手がいいです。
ここではDrawTextW
関数の使い方について解説します。
(省略されました)
ダブルバッファで文字列を描画する - Rustで作るWindowsアプリ
657, 2023-05-07
ダブルバッファで文字列を描画する
取得したデバイス コンテキストに直にTextOutW
関数名で文字列を描画すると文字列がウィンドウ上でちらつくという現象が出ました。 今回はこれに対応するためダブルバッファを使った実装をやっていきたいと思います。
ソースコードは以前に作成したウィンドウを表示するコードを改造して書いていきます。ウィンドウ表示のコードをコピーして新規パッケージで作成するのをおすすめします。
(省略されました)
文字列の描画 - Rustで作るWindowsアプリ
656, 2023-05-06
文字列を描画する
Windows APIで作成したウィンドウ上に文字列を描画するには以下の関数を使います。
- GetDC
- TextOutW
- ReleaseDC
(省略されました)
ウィンドウの作成 - Rustで作るWindowsアプリ
655, 2023-05-06
ウィンドウを作る
Windows APIでウィンドウを作る場合、けっこうコードを書く必要があります。現代的なGUIライブラリに慣れている人からするとギョっとするかもしれません。またコードに詳細なコメントを入れているのでなおさらボリュームがありますが、ご容赦ください。
ここでは拡張スタイルのウィンドウを作成する方法を取り上げます。
Windowsアプリの駆動方式
(省略されました)