VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/06/04(Mon) 14:23
投稿者なな
Eメール
URL
タイトル楕円が選択されるとフォーカスを当てたい

お世話になります。

VB歴3年のPGです。
環境:VB6(SP5) WinXp

PictureBox上に楕円を描いています。描いた楕円上を選択している場合、フォーカスを当てる処理を行いたいです。

やりたい事は、Excel上で絵を描いたときのイメージと同じ感じです。
@までは、Vbで作成済みですが、Aの処理で悩んでいます。

@オートシェープの楕円を選び、楕円を描きます。
A楕円上が選択されている場合、フォーカスが当たって(○でを8箇所で囲んでいる)います。
※実際に試す時は、@の後にオートシェープの書式設定で、色を「塗りつぶしなし」を選びます。

「特に、楕円が選択されているか?」という判定をどのように行えば良いか分かりません。
@の楕円を描く処理は、以下の通りです。
--------------------------------------------------------
Dim UpX1 As Long
Dim UpX2 As Long
Dim UpY1 As Long
Dim UpY2 As Long

Dim UpX3 As Long
Dim UpY3 As Long

Dim booFlg As Boolean

Private Sub Form_Load()
    Picture1.ScaleMode = 3
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    booFlg = True
    
    UpX1 = X
    UpY1 = Y
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If booFlg = True Then
    
        UpX3 = X
        UpY3 = Y
        
        Picture1.Refresh
                      
        Ellipse Picture1.hDC, UpX1, UpY1, UpX3, UpY3

    End If
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    UpX2 = X
    UpY2 = Y
    
    If booFlg = True Then
        Picture1.Refresh
        
        Ellipse Picture1.hDC, UpX1, UpY1, UpX2, UpY2
        booFlg = False
    End If

End Sub

'楕円を描画するAPI
Declare Function Ellipse Lib "gdi32" ( _
    ByVal hDC As Long, _
    ByVal Left As Long, _
    ByVal Top As Long, _
    ByVal Right As Long, _
    ByVal Bottom As Long) As Long


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -