
エディットボックスの文字サイズを変更する方法を教えてください。
HFONTを使う方法でやってみたけど、エディットのフォントは
デフォルトのままで、フォントが変更されていないように見えました。
LRESULT CALLBACK WndProc( …
static HWND hEdit;
static HFONT hFont;
switch (msg) {
case WM_CREATE:
hEdit = CreateWindow( … );
hFont = CreateFont( … );
if(!hFont)エラー処理 …;
SendMessage(hEdit, WM_SETFONT, (WPARAM)hFont, 0);
break;
case WM_DESTROY:
DeleteObject(hFont);
PostQuitMessage(0);
break;
No.3ベストアンサー
- 回答日時:
正しいフォントが作成できていないのでは?
フォント名が間違っているとか。
次の処理でフォントが置き換わることを確認しました。
case WM_CREATE:
hEdit = CreateWindow("EDIT", "Edit", WS_CHILD | WS_VISIBLE, 0,0,200,100, hWnd, (HMENU)1, hInst, NULL );
hFont = CreateFont(
100,0,0,0,0,0,0,0,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,"MS Pゴシック");
SendMessage( hEdit, WM_SETFONT, (WPARAM)hFont, 0);
break;
"MS"と"P"の間のスペースは半角です。
この回答への補足
実際のソースではエディットのハンドルを、隣のエディットと間違えていたことが分かりました。
それができなかった原因でした。
できました。
ありがとうございました。
フォントはきちんと作られているみたいです。
HFONT hFontOld;
hdc = BeginPaint(hWnd, &ps);
hFontOld = (HFONT)SelectObject(hdc, hFont);
TextOut(hdc, 0, 0, "a", 1);
SelectObject(hdc, hFontOld);
EndPaint(hWnd, &ps);
ならフォントは変わりました。
それの前後でGetTextExtentPoint32()を使っても、フォントが変わっているのを
確認できたけど、エディットについてはGetTextExtentPoint32()を使っても
フォントの変更はされていないみたいでした。
taka_tetsuさんは
#include <iostream.h>
main(){
char *buf = new char[100];
memset(buf, 0, 100);
delete []buf;
}
がコンパイルできないみたいだから、結果が同じにならないこともあるみたいです。
No.2
- 回答日時:
LPARAMをTRUEにしてもだめですか?
SendMessage(hEdit, WM_SETFONT, (WPARAM)hFont, (LPARAM)TRUE);
ありがとうございます。
LPARAM は再描画フラグだと思います。
WM_CREATEでは、まだhEditが表示されていないから再描画は
関係ないと思うけど、(LPARAM)TRUEをやってみました。
結果は、(LPARAM)0の時と同じでした。
PostMessage()もやってみたけど、結果は変わりませんでした。
No.1
- 回答日時:
Visual c++として答えます。
リソースのダイアログを開いて、ダイアログ全体を選択して、右クリック
プロパティを開き、「フォント」ボタンをクリックしてサイズを変更してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボボックス内の文字サイズ変更
-
VB.NET2005 TextBox 高さ(Heig...
-
static 文字が上に張り付いて・...
-
CreateWindowEx()でのフォン...
-
ドロップダウンリストのフォン...
-
PCによって変わってしまう画面...
-
カレンダーコントロールとサイ...
-
コンボボックスの一部のアイテ...
-
VBAのフォント変更(エクセルか...
-
Eclipseで修正したファイル名の...
-
文字色 エクリプス
-
VBA TEXTBOXテキストボックスの...
-
ワードでコントロールツールボ...
-
「アイテムは収集されました」...
-
グラフの交点の求め方(Excel)
-
エクセルで作った新しいウイン...
-
コントロールの書式設定で、“コ...
-
[VB.net] DataGridViewの列ヘッ...
-
ActiveXコントロールを.NETにイ...
-
以下のプログラムは重心を求め...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンボボックス内の文字サイズ変更
-
VB.NET2005 TextBox 高さ(Heig...
-
VBAのフォント変更(エクセルか...
-
ドロップダウンリストのフォン...
-
リソースエディタでスタティッ...
-
Macbook Word フォント色変更で...
-
コンボボックスの一部のアイテ...
-
VBA TEXTBOXテキストボックスの...
-
文字色 エクリプス
-
VBにて指定した通りにExcelの列...
-
フォントの大きさ
-
エディットボックスのフォント...
-
エクセルのシート名のフォント...
-
static 文字が上に張り付いて・...
-
個数可変のボタン配置
-
リストビューのハンドルについて
-
VC++2010 ボタンなどのレイアウ...
-
CreateFontのフォントの高さに...
-
C# のフォームデザイン&レイア...
-
Msgboxで使用するフォントの指...
おすすめ情報