GDI+の文字表示のエラー対策 – プログラミング – Home

GDI+の文字表示のエラー対策
 
通知
すべてクリア

GDI+の文字表示のエラー対策


GG
 GG
(@GG)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

いつもお世話になっています。GGです。

GDI+の文字表示の質問です。
以下のホームページを見ています。
http://park17.wakwak.com/~dragoon/gdiplus6.htm


Font myFont( LVerdana, 24.0f, style, UnitPoint );

コンバイルするとエラーが出ました。
error C2259: 'Font' : 抽象クラスをインスタンス化できません。

どう対処すればいいでしょうか。(エラーヘルプを見たのですが、解決できません)
よろしくお願いします。

環境:.Net(2002) MFC使用、Win2000


引用解決済
トピックタグ
とーりすがり
 とーりすがり
(@とーりすがり)
ゲスト
結合: 18年前
投稿: 29
 

namespace GdiplusのFontクラスじゃなく、
別の場所にある純仮想関数をもったFontクラスのインスタンスを作ろうとして
しまってるんじゃない?


返信引用
GG
 GG
(@GG)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

とーりすがり さん
ご回答ありがとう。

>namespace GdiplusのFontクラスじゃなく、
>別の場所にある純仮想関数をもったFontクラスのインスタンスを作ろうとして
>しまってるんじゃない?
Fontクラスのインスタンスの作り方がわかりません。
(やったことがない)

よろしくお願いします。


返信引用
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

インスタンスを作った事が無いという事は無いはずです。
-----------
instance
━ 【名】
Ⅰ 【C】 例, 実例, 事例, 実証
New College English-Japanese Dictionary, 6th edition (C) Kenkyusha
Ltd. 1967,1994,1998
-----------
プログラミングなどでは
「型のメモリ(実体)」のことをインスタンスと呼んで、
「型のメモリ(実体)を確保」する事をインスタンス化すると呼んだりします。
「宣言」だけだと、実体を宣言しているのか、構造を宣言しているのかわからなく
なりますので…。

で、問題の件ですがとーりすがりさんが言っていることと同じで無いかと思います。

GDI+のライブラリのヘッダなどを読んでいるか、と、GDI+のFontはグローバルス
コープにおいてあるか等を確認してみてください。
汎用のライブラリが衝突しやすい名前を持ってくるときは別の名前空間に入れた
りします。

グローバルスコープ云々については、名前空間や、スコープについて調べてくださ
い。
それを理解しないとこの後も苦労すると思います。

その上で考えられる原因が、「使いたいクラスの名前を指定できていない」「別の
名前と衝突して優先度が違う」などだと判ると思います。


返信引用
GG
 GG
(@GG)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

ぬさん、
ご回答ありがとう。

>その上で考えられる原因が、「使いたいクラスの名前を指定できていない」「別の
>名前と衝突して優先度が違う」などだと判ると思います。
一応、調べたのですが、なかなか見つかりませんでした。

書き忘れたのですが、以下のエラーメッセージもあります。
error C2661: 'Font::Font' : 2 個の引数を持つオーバーロードされた関数はありませ
ん。
Helpを見たのですが、
Font()関数をどう作るのでしょうか。

ちなみに、同じダイアローグのOnPain()に画像を表示できます。

GDI+のやり方、まだ慣れていないです、よろしくお願いします。


返信引用
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

>error C2661: 'Font::Font' : 2 個の引数を持つオーバーロードされた関数は
ありません。
その次の近くにFontクラスを定義しているパスがありませんか?
有るならば、間違ってそちらを参照しているので、そちらを参照しないようにして下
さい。

>Font()関数をどう作るのでしょうか。
作る必要はありません。
それはコンストラクタのことです。
正しいGDI+のクラスを宣言できれば問題無いはずです。

私がGDI+を使った事が無いので検索しただけですが、貴方が参考にしたサイトに
前準備についても書いてある様です。
http://park17.wakwak.com/~dragoon/gdiplus1.htm
http://park17.wakwak.com/~dragoon/gdiplus2.htm
です。
ちゃんとやってありますか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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