http://tech.obihiro.ac.jp/~fm/file1/file01.htm
上のURLのプログラムをVisualStudio2008のMFCで書き直したいのですが
どうすればいいですか?
A 回答 (10件)
- 最新から表示
- 回答順に表示
No.10
- 回答日時:
>折れ線グラフを関数にするのは前からやってみたのですがうまくいかなかったので質問させていただいたのですが、すみません
それは基礎が出来ていないからです。
基礎ができていれば何をすれば良いかは自ずと想像ができるようになります。
ちなみにC++とMFCは非常に難易度が高いプログラミング環境と言って良いと思います。
Excelであれば容易に出来るデータの折れ線グラフや棒グラフ表示をあえてC++とMFCで行う意図をお聞かせ下さい。
No.9
- 回答日時:
>ありがとうございます
>あと、先ほどの折れ線と棒グラフを関数でわけたいのですが
>できますか?
なんでも聞いたりサンプルで済ますと技量が伸びませんので自分で考えてみてください。
考えてもわからない部分があれば聞いてもらっても構いませんが、現状は何も調べたりじっくり考えていない様に見えます。
これはMFC以前の基本的なプログラムの作りかたの質問です。C/C++を十分に勉強された人では無いのですよね?まず、そこから勉強されてMFCに入れれたほうが良いと思います。
ちなみに出来るか出来ないかで言えば出来ますが、本当にC++とMFCで良いのか自分の力量に合っているのかVB.NETやC#のほうが難易度が低いと思いますので、そういう所も含めて検討されたほうが良いと思います。
No.8
- 回答日時:
No.6
- 回答日時:
とりあえず、OnFileOpen()の最後でUpdateAllViews(NULL);すればロード後に画面が更新されるとおもいます。
現状画面の更新が呼び出されないみたいなので。
この回答への補足
ありがとうございます
ちゃんとグラフが表示されました
この後グラフにメモリを打ち込みたいと思うのですが
何かいい方法はありませんかね...
No.5
- 回答日時:
>MoveTo、LineToで確認しましたが何も表示されませんでした
>グラフの場合と同様にウィンドウの大きさを変えると線が表示されました
それは、MoveToでブレークはするが何も表示されないということでしょうか?
それともOnDraw自体が呼び出されないと言うことでしょうか?
情報が断片過ぎて、答えようがありません。
とりあえず現状のコードを貼ってもらえますか?
この回答への補足
// graphView.cpp : CgraphView クラスの実装
//
#include "stdafx.h"
#include "graph.h"
#include "graphDoc.h"
#include "graphView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CgraphView
IMPLEMENT_DYNCREATE(CgraphView, CView)
BEGIN_MESSAGE_MAP(CgraphView, CView)
// 標準印刷コマンド
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)
END_MESSAGE_MAP()
// CgraphView コンストラクション/デストラクション
CgraphView::CgraphView()
{
// TODO: 構築コードをここに追加します。
}
CgraphView::~CgraphView()
{
}
BOOL CgraphView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
// 修正してください。
return CView::PreCreateWindow(cs);
}
// CgraphView 描画
void CgraphView::OnDraw(CDC* pDC)
{
CgraphDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: この場所にネイティブ データ用の描画コードを追加します。
int x0=50, y0=450, xsp=700, ysp=400, xp, yp ;
// float xmax, ymax;
int DataN=pDoc->DN, i;
pDC->MoveTo(100,100);
pDC->LineTo(100,100);
pDC->SetTextColor(RGB(0,0,255));
pDC->TextOut(0,0,"汎用グラフ表示プログラム");
CPen pc1(PS_SOLID,1,RGB(0,0,0)); //ペンの初期化
CPen pc2(PS_SOLID,2,RGB(0,0,0));
CPen* OldPen=pDC->SelectObject(&pc1); //ペンの変更
if(DataN!=0){
pDC->SelectObject(pc2);
pDC->MoveTo(x0,y0);
pDC->LineTo(x0+xsp,y0);
pDC->MoveTo(x0,y0);
pDC->LineTo(x0 ,y0-ysp);
for( i=0; i<=DataN; i++){
xp=(int)(x0+pDoc->Dx[i]/100.0*xsp);
yp=(int)(y0-pDoc->Dy[i]/100.0*ysp);
if(i==0) pDC->MoveTo(xp,yp);
else pDC->LineTo(xp,yp);
}
}
pDC->SelectObject(OldPen);
}
// CgraphView 印刷
BOOL CgraphView::OnPreparePrinting(CPrintInfo* pInfo)
{
// 既定の印刷準備
return DoPreparePrinting(pInfo);
}
void CgraphView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 印刷前の特別な初期化処理を追加してください。
}
void CgraphView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: 印刷後の後処理を追加してください。
}
// CgraphView 診断
#ifdef _DEBUG
void CgraphView::AssertValid() const
{
CView::AssertValid();
}
void CgraphView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CgraphDoc* CgraphView::GetDocument() const // デバッグ以外のバージョンはインラインです。
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CgraphDoc)));
return (CgraphDoc*)m_pDocument;
}
#endif //_DEBUG
// CgraphView メッセージ ハンドラ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- プリンタ・スキャナー Brother MFC-7460DNの一時停止解除について 1 2022/12/03 12:38
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- その他(プログラミング・Web制作) AndroidStudio 途中で終了する。 1 2023/04/26 11:21
- リフォーム・リノベーション 壁紙について 5 2022/10/19 12:09
- プリンタ・スキャナー BURATHER複合機・コントロールセンター4が外枠だけ表示 2 2022/05/26 11:16
- PHP ファイルアップロードの上限を増やす 7 2023/06/23 12:50
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
- その他(プログラミング・Web制作) I2C接続のLCDディスプレイを使う 2 2023/05/01 17:15
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのグラフ
-
Excel VBAでグラフをクリックし...
-
Webでのグラフ表示を行うには、...
-
HP上にあるグラフの再現
-
c++での3次元グラフの生成
-
onedriveで同期解除をしたら、...
-
vlan internal allocation poli...
-
沢山のフォルダにあるファイル...
-
teratarmでコマンド入力すると...
-
WindowsからSSHでサーバーにあ...
-
TXTファイルを上書き保存する前...
-
エクセルVBAについて
-
Excel VBAでほかのアプリケーシ...
-
YAHAMA RTXシリーズのコマンド...
-
マイドキュメントのフォルダの...
-
USBデータの消失
-
再起動後にフォルダが消えるのは?
-
読み取り専用ファイルを上書き...
-
VBA メモ帳の上書き保存がしたい
-
ls であるファイル以外を表示し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
論文に載せるグラフを作成したい
-
Excel VBAでグラフをクリックし...
-
excelのグラフをLaTexに挿入す...
-
VBA グラフの存在の判定について
-
C言語によるハノイの塔のプログ...
-
Excel VBAでのグラフ
-
【VBA】Excel等高線グラフの...
-
excelで散布図に線を追加したい
-
C#のChartで目盛線をグラフの前...
-
レガシーASPでのグラフ作成...
-
グラフの元のデータを消しても...
-
OWCによるグラフ描写について
-
Excel VBAで、グラフを特定のセ...
-
Matlabによる複素数・・・
-
c言語 正負の値それぞれでの最...
-
Webでのグラフ表示を行うには、...
-
グラフを「似ている」順に並べ...
-
C言語でグラフ作成
-
gnuplotで関数を途切れさせるに...
-
グラフの色を数値で変わるように!
おすすめ情報