tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルコマンドボタンを押してフォームペイントをしたあとピクチャーボックスが消える。
記事No15964
投稿日: 2014/09/05(Fri) 14:24
投稿者ジェンガ
     VB6.0で標準EXEです。
    formをloadした時にはピクチャーボックスが現れるのですが、コマンドボタンを押すとformをpaint
        するのですが、commandボタンをクリックするとピクチャーボックスが消えてしまいます。
    どうすれば良いでしょうか。Netではできるものがあるのは分かりました。

[ツリー表示へ]
タイトルRe: コマンドボタンを押してフォームペイントをしたあとピクチャーボックスが消える。
記事No15965
投稿日: 2014/09/05(Fri) 18:27
投稿者魔界の仮面弁士
> formをloadした時にはピクチャーボックスが現れるのですが、
デザイン時に、PictureBox を Form に貼っておけば、
フォームが表示されたときに、PictureBox も表示された状態になりますね。


> コマンドボタンを押すとformをpaintするのですが、
Form の Paint イベントのことでしょうか?

CommandButton を Click しただけでは、
Form の Paint イベントは発生しないはずです。

それとも「Form に描画する処理を Click イベントに記述している」という意味でしょうか。
(PictureBox に対する描画ではなく、Form に対する描画?)

いずれにしても、Command1_Click 内で、どのようなコードが
使われているのか分からないので、『具体的な状況』が掴めません…。


> commandボタンをクリックするとピクチャーボックスが消えてしまいます。
コントロールが消えるのは、「Visible プロパティを False にした場合」

PictureBox が消えるのではなく、PictureBox に描画した内容が消えるという意味ならば、
「PictureBox の Paint イベントが処理されていない」もしくは
「AutoRedraw = True が設定されていない」などの可能性があります。

[ツリー表示へ]
タイトルRe^2: コマンドボタンを押してフォームペイントをしたあとピクチャーボックスが消える。
記事No15966
投稿日: 2014/09/05(Fri) 20:57
投稿者ジェンガ
(general)
Dim k As Integer
ーーーーーーーーーーーーーーーー
Private Sub Command1_Click()
(次のページを表示)
hyouji
End Sub
ーーーーーーーーーーーーーーーー
Private Sub Command2_Click()
(前のページを表示)
hyouji
End Sub
ーーーーーーーーーーーーーーーー
Private Sub Form_Load()
(1ページ目を表示)
End Sub
ーーーーーーーーーーーーーーーー
Sub hyouji()
(何ページをだしているかラベルで表示)
If (k = 1) Then
(コマンドボタンの色設定)
ElseIf (k = 2) Or (k = 3) Or (k = 4) Or (k = 5) Or (k = 6) Or (k = 7) Then
(コマンドボタンの色設定)
  End If

If (k = 1) Then
(ピクチャーボックスに1ページ目を表示)
ElseIf (k = 2) Then
(ピクチャーボックスに2ページ目を表示)
ElseIf (k = 3) Then
(ピクチャーボックスに3ページ目を表示)
ElseIf (k = 4) Then
(ピクチャーボックスに4ページ目を表示)
ElseIf (k = 5) Then
(ピクチャーボックスに5ページ目を表示)
ElseIf (k = 6) Then
(ピクチャーボックスに6ページ目を表示)
ElseIf (k = 7) Then
(ピクチャーボックスに7ページ目を表示)
End If
End Sub
ーーーーーーーーーーーーーーーーーーーーーーー
Private Sub Form_Paint()

If (k = 1) Then
Scale (0, 0)-(100, 100)
Line (0, 0)-(100, 100), RGB(255, 255, 0), BF
ElseIf (k = 2) Or (k = 3) Or (k = 4) Or (k = 5) Or (k = 6) Or (k = 7) Then
Scale (0, 0)-(100, 100)
Line (0, 0)-(50, 100), RGB(255, 0, 0), BF
Line (50, 0)-(100, 100), RGB(0, 0, 255), BF

End If
End Sub
雑用掲示版に関連する画像を貼ります。
()で省略されたところのコードだけで再生しても問題はありませんでした。
PictureboxのVisibleはTrueでした。

[ツリー表示へ]
タイトルRe^3: コマンドボタンを押してフォームペイントをしたあとピクチャーボックスが消える。
記事No15968
投稿日: 2014/09/11(Thu) 16:51
投稿者ジェンガ
ページごとに色を変えるのが難しかったので断念しました。
魔界の仮面弁士さん。返信ありがとうございました。

[ツリー表示へ]