画面の内容がある範囲を超えると表示できない – プログラミング – Home

画面の内容がある範囲を超えると表示でき...
 
通知
すべてクリア

[解決済] 画面の内容がある範囲を超えると表示できない


hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

どうもはじめまして。
さっそくですが質問です。
現在フローチャートを作成し、それを実行すると結果が返ってくるという
プログラムを作成しております。
そのプログラム実行時に、フローチャート作成用のウインドウにフローチャートを描いて
いくと、
ある一定の長さを超えると、その先の内容が表示できなくなってしまいます。
スクロールバーをつけてみたのですが結果は変わりませんでした。

くだらない質問かもしれませんが、
この状況にはどのような原因が考えられますか?
アドバイスをお願いします。


引用未解決
トピックタグ
hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

あ、開発環境はWIN2000、VC++6.0、MFCです。
よろしくお願いします。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

少なくとも、フローチャートをどうやって描いているのかが
分からないと、原因の考えようがありません。


返信引用
hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

申し訳ありません。
なにぶんVC初心者ですので答え方がよくわからないので、
下にプログラムの一部を載せます。

// 図記号描画処理
void ClsView::DrawInput(const POINT& Point, ClsProcess Process) {

// 図記号を描画する
POINT Input[] = {
{Point.x, Point.y + 23}, {Point.x + 203, Point.y },
{Point.x + 203, Point.y + 47}, {Point.x, Point.y + 47}};
m_pDC->Polygon(Input, 4);
m_pDC->MoveTo(Point.x + 100, Point.y);
m_pDC->LineTo(Point.x + 100, Point.y + 12);
m_pDC->MoveTo(Point.x + 102, Point.y);
m_pDC->LineTo(Point.x + 102, Point.y + 12);

// 処理内容を表示する
m_pDC->MoveTo(Point.x + 28, Point.y + 17);
m_pDC->SetTextColor(RGB(0, 0, 255));
m_pDC->TextOut(0, 0, Process.Data());
m_pDC->SetTextColor(RGB(0, 0, 0));
switch(ID(Process.Function())) {
case STRING: m_pDC->TextOut(0, 0, に文字列を入力する); break;
case VALUE: m_pDC->TextOut(0, 0, に数値を入力する); break;
default: break;
}

// 線記号を描画する
DrawLine(Point);
}

このような感じで描画を行っています。
初めにスタートとエンドを表示し、その間に処理を追加していくという形をとっています。


返信引用
hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

上のコードは「文字列・数値の入力」処理用のフローチャートの例です。
たびたび申し訳ありません。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

ClsViewの基本クラスは何ですか?
もし、CViewなら、スクロールをサポートしていません。
CViewの代わりにCScrollViewを基本クラスにします。
(ファイル中のCViewを全て置換すればよいはず。)

そして、SetScrollSizes()で描画する範囲を設定すれば、
スクロール処理は自動的になされます。


返信引用
hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

なるほど。
dairygoodsさんどうもありがとうございました。
やってみます。


返信引用
hanabi
 hanabi
(@hanabi)
ゲスト
結合: 22年前
投稿: 39
Topic starter  

遅くなりましたが解決です。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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