プロが教える店舗&オフィスのセキュリティ対策術

チェックボックスの文字サイズについて質問です。

チェックボックスの文字サイズを変更するにはどうすればいいのでしょうか?
色々調べてみたのですが、見つける事が出来ませんでした。
もしかして出来ないのでしょうか?

もうひとつ質問なのですが、チェックボックスの背景が白になるのですが、
プロパティシート「http://wisdom.sakura.ne.jp/system/winapi/common/ …
の背景色と同じ色にしたいのですがどうすればいいのでしょうか?
元々の色がプロパティシートの背景色と同じだと思うのですが、
どこが間違っているのか分かりませんでした。
チェックボックスをクリックすると色が変わります。

開発環境
XP
Visual Studio 2005
C,C++

A 回答 (1件)

>チェックボックスの文字サイズを変更するにはどうすればいいのでしょうか?



GIオブジェクトでフォントオブジェクトを作成して、作成したフォントを指定する。
かと…。
スタティックテキストのフォントを指定するサンプルなどがあるでしょうから検索すると見つかるかと思われます。

>もうひとつ質問なのですが、チェックボックスの背景が白になるのですが

どういうコードを書いて…ですか?
掲示された方が回答付きやすいかと思われます。

プロパティシートで、クラシックスタイルでない場合、微妙にグラデーションが掛かっているらしいですが…。

この回答への補足

回答ありがとうございます。

チェックボックス作成のコードです。
関数化していたので少し書き換えています。

CreateWindow(
L"BUTTON",
L"abc",
WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | WS_TABSTOP,
10,10,200,20,
hwnd,(HMENU)6000,hinstance,NULL
);

このサイト「http://wisdom.sakura.ne.jp/system/winapi/win32/w …」を
見ながらコードを書いたので、「チェックボックスの背景が白になる」
事は無いように思いますが分かりませんでした。
ちなみに、このサイトにあるコードで試した所、背景色は基本色?になってました。
別の所に原因があるのかもしれませんが。

文字サイズ変更の件で、
>GIオブジェクトでフォントオブジェクトを作成して、作成したフォントを指定する。
の「GIオブジェクト」はどういうものなのでしょうか?
調べてみたのですが、調べ方が悪かったのか見つけることが出来ませんでした。
もしよろしければ参考になるサイトを教えていただけないでしょうか?

ちなみに、テキストボックスの文字サイズの変更は出来るのですが、
それと同じ方法なのでしょうか?
最初に試してみたのですが出来なかったので違うと思いますが。

一応テキストボックスの文字サイズ変更に使っているコードを載せておきます。
//エディットボックスの文字サイズ変更
//引数:ウィンドウハンドル・エディット番号・文字幅・文字高さ
//戻り値:変更できたか(true=成功/false=失敗)
bool EditBoxLetterSize(HWND hwnd, int number, int w, int h)
{
HFONT hFontDefGUI = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
LOGFONTW lf = {0};
HFONT hFontNew = NULL;

GetObjectW(hFontDefGUI, sizeof(lf), &lf);
lf.lfWidth = w;
lf.lfHeight = h;
hFontNew = CreateFontIndirectW(&lf);
if (SendMessageW(GetDlgItem(hwnd, number), WM_SETFONT, (WPARAM)hFontNew, MAKELPARAM(TRUE, 0)) == NULL)
return (false);
return (true);
}

補足日時:2009/08/23 12:04
    • good
    • 0
この回答へのお礼

サイズ変更は出来ました。
確認が不十分でした。
テキストボックスの文字サイズ変更に使うコードで出来ました。
チェックボックスのハンドルを渡していたのですが、
プロパティシートのハンドルを渡してみた所出来ました。

背景の色はまだ出来ていないのですが、
色々調べてみようと思います。
なので、一旦締め切ります。
分からなかった場合は再度質問させて頂こうと思います。

お礼日時:2009/08/24 12:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!