
今回は、円についてお聞きしたいです。
VCのAPI32が前提(MSNは使用しない)です。
円は、
WM_PAINT
hDC=BeginPaint(hWnd,&ps);
Ellipse(hDC,100,100,400,400);
Endpaint(hWnd,&ps);で書いています。
問題点は、例えば、iの値が、2のときのみ実行したいという場合どうしたらいいですか?
ifの位置を、hDCの前でいれると、ダイアログボックスが開きません
Ellipseの一行でかますと、変な円になってしまいます。
どうしたらいいんでしょう(;;)
あと、野菜50%・肉30%・魚20%という円グラフにしたい場合、
ラジアンで分割したあと、どういうふうに、円分割したらいいでしょうか?
できればアドバイスおねがいします><
No.1ベストアンサー
- 回答日時:
iが2のときだけなら
hDC = BeginPaint(hWnd,&ps);
if ( i == 2 ) {
Ellipse(hDC,100,100,400,400);
}
Endpaint(hWnd,&ps);
といった具合ですよ
円弧の分割は Pieを使えばいいように思います
野菜、肉、魚の円弧の始点、終点を算出します
Pie( hDC, 100, 100, 400, 400, 野菜の始点X, 野菜の始点Y, 野菜の終点X, 野菜の終点Y);
といった具合に 肉、魚についても記述します
どのようにおかしくなるのかを説明しましょう
変数 iのスコープがおかしいから Ellipseが実行されないのでは
# MSNではなく MFCだと思いますよ
回答ありがとうございます。
まず、MFCの間違いでした。MFCなしのAPI32のみでやってます。
第一の課題、円のやつは、できました(^^)
視点を変えて、ダイアログボックス出てから、
hDC = GetDC(hWnd);
Ellipse(hDC,100,100,400,400);
ReleaseDC(hWnd,hDC);
でやりました。
WM_PAINTは円では使わないようにしてみました。
第二の課題、円の分割については、午後、アドバイス方法で試してみます。
15時くらいに、合計が算出されるかな?といったくらいです。
あと、もう一点、円の中に20%とか文字ってかけました?
No.4
- 回答日時:
あのぉ 考え方が逆なのでは ・・・
仕事の研修で行っているのならなおさら自分で調べるといった姿勢が重要なのではないでしょうか
正社員になったら質問回数を減らすといった考え方もおかしいような気がします
できないなら出来ないで正直に報告する勇気も必要でしょう
上司が出来ないなりにどこまでやれるのかを判断するための課題かもしれません
プログラミングの考え方を把握したいといった意図があるのかも
この回答への補足
NO4部分の返事は、あとから書きます。
スピンについての補足で質問したいのですが・・・(質問だらけですいません・・・)
SendMessage(GetDlgItem(hWnd,IDC_SPIN1),UDM_SETRANGE,0,MAKELONG(3000,0));
というのを、やってみたのですが、UDM_SETRANGEは、定義されてない識別子とでます(;;)なぜでしょう? APIだから?かな・・・
さっきのスピンの話ですが、調べた結果
#define UDM_SETRANGE 0x0465
この一文がいました><
30分以上ロスしたー(;;)
円グラフ完成させられない(;;)
というより、普通、#defineいるなんて、反則ですよね?
あと、このスピン、カンマついてしまうのですが、(1000ごとに)
これは、はずせないものですか?
はずせないなら、仕方ないですけど。
No.3
- 回答日時:
> あと、今やってて思ったんですが、スピンボタンって、100までしか
> スピンしてくれないのですか?(;;)
すみません このように疑問部分を全て質問する気ですか?
ご自分で調べるのも大切ですよ
Spinコントロールならそのデータ範囲を設定するコントロール用メッセージがあります
SendMessageやPostMessageで UDM_SETRANGEを送ることになるのだと思います
この回答への補足
16時の途中経過報告します。
今は、魚を例にすると、
あじ 200円
さば 300円
あじ 400円
くさい魚 0円
あじ 500円となってるファイルから、
あじ 1100円・さば300円・くさい0円というように、
円グラフを作りやすいようにやってる段階です。
この部分なかなかできない(;;)
2行すいとりを前提に進めてます。
回答ありがとうございます。
本来なら自分で調べるべきですが、私の場合、仕事の課題なので、せっぱつまってるのです。(;;)
規定以内に終わらないと、正社員になれなくなる(><)
今、研修中なので・・・。
正社員なったら、質問回数減らしますから、今だけ回答お願いします(><)
No.2
- 回答日時:
DrawTextやTextOutについて調べましょう
WinAPIでプログラミングを解説した書籍を手元に用意しましょう
有名どころでは『猫でもわかる』シリーズなどです
この回答への補足
14時段階での途中経過を発表します。(現在14:10ですが)
ひとつの円の中に、例えば、過去一年分の魚類の売上円グラフを作るとします。
種類、アジ5匹 100円(売上高)
シャケ10匹 500円
くさい魚2匹 0円
さんま3匹 200円
いわし4匹 150円とします。
今の時点で、1年分売上合計ファイルを作るところまでできました。
月が1のときは、簡単ですが、月が1以外のときは、少してこずりました。
あと、今やってて思ったんですが、スピンボタンって、100までしかスピンしてくれないのですか?(;;)
年数のところ、2050とかなったら、スピンしてないです。(><)
これから、ファイルから割合だして、グラフつくるところです。
回答ありがとうございます(^^)
仕事の終わる時間(18時すぎ)に、もう一度補足かきます。
とりあえず、その方法でやってみます^^
ネコシリーズで、通常の円書くとこはわかりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リピート再生が出来ません
-
VisualStudio2008にこのような...
-
Cプログラミングでハングマンゲ...
-
数学、プログラミング、物理、...
-
MFCとC++/CLIとの比較
-
iPadでプログラミングは可能で...
-
ノートPCについて 大学・専門へ...
-
曲を作るのにプログラミングっ...
-
Access Club について
-
アセンブリ名とは??
-
VBA フォルダ アクセス権限付与
-
C言語、C+、C++、C#の違い
-
HOLONついて教えてください。
-
HTMLとC++で、どんなホームペー...
-
著作権法について
-
仮想ドライブ
-
プログラミング入門
-
Windowsで、システム上同じ言語...
-
Delphiでプログラム中の表示部...
-
スプレッドシートの作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミングについて こちら...
-
数学、プログラミング、物理、...
-
アセンブリ名とは??
-
リピート再生が出来ません
-
ノートPCについて 大学・専門へ...
-
Visual Studio Codeについて
-
CSVデータの"(ダブルクォーテ...
-
procってなんですか?
-
VBA フォルダ アクセス権限付与
-
Delphiでxmlファイルを読み込む...
-
PL/Iについて
-
曲を作るのにプログラミングっ...
-
作業工程 SDとMD
-
C言語で何を作りますか?
-
Cで本格的なプログラムを作りたい
-
プログラミングでArduinoのc++...
-
C#でマウスのドラッグで範囲を...
-
プログラミングを学ぼうと思い...
-
ソニーのNeural Network Consol...
-
exeファイルを作ったり改造した...
おすすめ情報