ボタンのフォント変更 (SDK) – プログラミング – Home

ボタンのフォント変更 (SDK)
 
通知
すべてクリア

[解決済] ボタンのフォント変更 (SDK)


Chika
 Chika
(@Chika)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

はじめまして。Chikaと申します。よろしくお願いします。
使用PCはWin2000、MicrosoftVisualC++6.0 を使用しています。

C++ SDKでボタンの作成をしたあと、ボタンに表示させたOKのフォントの
変更をしたいのですが、可能でしょうか?

// ボタンの生成
btn_hWnd = CreateWindowEx( WS_EX_TOPMOST,
TEXT(BUTTON), TEXT(OK),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
0, 0, 100, 100,
obj_hWnd, NULL, mes_hInst, NULL);

よろしくお願いします。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

WM_SETFONT を使います。


返信引用
Chika
 Chika
(@Chika)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

度々すみません・・
子ウィンドウの場合でも大丈夫でしょうか?


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

試してみてダメだったのですか?
どんな風になりましたか?


返信引用
Chika
 Chika
(@Chika)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

以下のようにしましたが、フォントは変わりませんでした・・
ボタンを作成した直後はダメでしょうか・・?

---------------------------------------------------------------
#define DLGWINDOW_FONT TEXT(HG創英角ポップ体)
#define WM_SETFONT 0x0030

// ボタンの生成
btn_hWnd = CreateWindowEx( WS_EX_TOPMOST,
TEXT(BUTTON), TEXT(OK),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
0, 0, 100, 100,
obj_hWnd, NULL, mes_hInst, NULL);

// フォントの作成
memset(&lf, NULL, sizeof(lf));
lf.lfHeight = DLGWINDOW_FONTSIZE;
lf.lfWeight = DLGWINDOW_FONTWEIGHT;
lf.lfCharSet = 2;
lf.lfOutPrecision = OUT_OUTLINE_PRECIS;
lf.lfClipPrecision = CLIP_STROKE_PRECIS;
lf.lfPitchAndFamily = DEFAULT_PITCH | FF_SWISS;
strcpy(lf.lfFaceName, DLGWINDOW_FONT);
hFont_b = CreateFontIndirect(&lf);

// フォントの設定
SendMessage(btn_hWnd, WM_SETFONT, (WPARAM) hFont_b,
MAKELPARAM(true, 0));

DeleteFont(hFont_b);


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

設定した直後に削除してるからだと思います。


返信引用
aetos
(@aetos)
Noble Member
結合: 6年前
投稿: 1480
 

DeleteFont しちゃうと、せっかく作ったフォントが消えちゃいます。
DeleteFont は、もうボタンを使わないなど、フォントを使わなくなったときにやりまし
ょう。

#というか DeleteFont なんてものがあったなんて知りませんでしたよ。
#関数じゃなくてマクロみたいですが。


返信引用
Chika
 Chika
(@Chika)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

解決しました。
みなさんありがとうございました!!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました