文字を表示させる

最終更新 2003 09/22

サンプルのダウンロード → API_TextOut.lzh(36k)

サンプルプログラムのスクリーンショット

全ソースコード



TextOut 関数
    
    対応しているバージョン
    95, 98, Me, NT3.1以降, 2000, XP
        
    使用するヘッダとライブラリ
    wingdi.h
    gdi32.lib
ウィンドウに文字を表示させるには TextOut 関数を使います。 TextOut( HDC, X, Y, "文字", 文字のバイト数 ); HDC は HDC hDC = GetDC( hWnd ); というように、GetDC() 関数で 取得します。 取得した HDC は、必要がなくなったら必ず ReleaseDC() 関数で 解放しないといけません。 X, Y は、文字を表示する位置です。 クライアント領域が対象になります。 なので、0, 0 と指定しても、ウィンドウのタイトルバーの位置に 文字が表示されるわけではなくて、クライアント領域の左上隅に 文字が表示されます。 "文字" にはサンプルのように char 型のポインタを使うか char text[256]; というように char 型の配列を使うパターンの 2種類あります。 char* p_text = "文字だよ〜。"; char text[] = { "文字だよ〜。" }; 上の2つはどちらも扱い方は同じです。 この辺の細かい違いとか扱い方は、自分でプログラムを沢山組んで 覚えるしかないですねぇ・・・。 "文字" に変数を使わない場合 TextOut( hDC, 0, 0, "文字表示サンプル", 16 ); こんなふうに自分で文字のバイト数を数えて指定してやらないと いけないので少し面倒です。 "文字表示サンプル" は文字数は8文字ですが、全角文字は 2バイト使うので、バイト数は倍の16バイトになります。 それで16と指定してるという事になります。 文字列の最後につく \0 は数える必要はありません。 TextOut( hDC, 0, 0, "文字表示サンプル", 16 ); みたいに 直接文字と文字数を指定する方法は応用が利かないので ちょっといただけないですね。 char text[] = { "文字表示サンプル" }; TextOut( hDC, 0, 0, text, strlen( text ) ); こうやるほうが楽ですし、間違いもありません。

さらに文字ってみる
変数の値を表示させる
文字の背景色を変える
文字の色を変える
文字の背景を透明にする

| next | home |