トップページ > 過去ログ > 記事閲覧
CreateFontToHandleについて
名前:IHIW 日時: 2006/12/17 03:00

始めまして、DXライブラリを使わせていただいてまるIHIWといいます。 本当に初歩的な内容なのですが CreateFontToHandleの第一引数は、具体的に何を入力すればいいのでしょうか? "HG創英角ポップ体"や"HGRPP1.TTC"を入力するのだと思っていたのですが、どうもフォントの変更をしていないようです。どなたか教えてください。

Page: 1 |

Re: CreateFontToHandleについて ( No.1 )
名前:Will 日時:2006/12/18 10:26

第一引数の認識はあっています。 以下の点について確認してください。 @CreateFontToHandleの戻り値はー1でですか?(YES→A、NO→B) A指定しているフォントはあなたのPCにインストールされていますか?(NO→インストールされていないフォントは使用できません) B文字表示をどのようにしていますか? CreateFontToHandleで作成したフォントで文字表示を行う場合、DrawStringToHandleを使用する必要があります。 もしくは、デフォルトのフォントを変更するのであれば、ChangeFontを使用してください。
Re: CreateFontToHandleについて ( No.2 )
名前:IHIW 日時:2006/12/18 16:56

いろいろためしてみたのですが、どうやら、インストールされてないフォントで試してみても、-1以外の値を返してくるようです。 下にプログラムの前文をコピーさせていただくので、どこがおかしいのかをおしえてください。 #include "DxLib.h" int WINAPI WinMai(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow ){ SetOutApplicationLogValidFlag(FALSE); SetGraphMode(640,480,32); ChangeWindowMode(TRUE); if( DxLib_Init() == -1 )return -1; SetDrawScreen(DX_SCREEN_BACK); int A=CreateFontToHandle(/*"HG創英角ポップ体"*/"あああ",12,5,DX_FONTTYPE_NORMAL); int B; while(ProcessMessage()==0&&CheckHitKey(KEY_INPUT_ESCAPE)==FALSE){ B=DrawFormatStringToHandle(100,100,GetColor(255,255,0),A,"%d,%d",A,B); ScreenFlip(); } InitGraph(); InitFontToHandle(); InitSoundMem(); DxLib_End(); return 0; }
Re: CreateFontToHandleについて ( No.3 )
名前:テム 日時:2006/12/18 17:17

はじめましてIHIWさん。 自分も以前同じような症状にハマりました。 自分の場合はフォント名のカタカナを半角にしてみたら解決しました。 ("HG創英角ポップ体"ならば"ポップ"の部分) PCにインストールされているフォント名を見てみると実際に半角カタカナになっていました。 どうやらインストールされているフォント名と完全に一致しないと、 正しいフォント名として認識されないようです。
Re: CreateFontToHandleについて ( No.4 )
名前:れん 日時:2006/12/18 23:59

はじめましてー! "あああ"の部分が"HG創英角ポップ体"のような気がします。 一応「ぽっぷ」押してF8で半角になります。 CreateFontToHandleはフォントを作る関数なので第一引数は字体が必要だと思います。 僕の場合は全角にして”あ”って入れた後リターンを押さずにF5おします。 するとすべての字体がでます。 間違ってたらすいません(汗
Re: CreateFontToHandleについて ( No.5 )
名前:IHIW 日時:2006/12/19 15:39

ポップをポップに変えたら、フォントがちゃんと変わりました^^ 皆様ありがとうございました。

Page: 1 |