블로그 이미지
생각처럼

카테고리

전체보기 (209)
TOOL (1)
다이어리 (1)
Bit (200)
HELP? (0)
Total
Today
Yesterday

달력

« » 2025.2
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

공지사항

태그목록

최근에 올라온 글

'폼에 그린 사각형 영역 안에 텍스트를 입력시킬경우 텍스트 문자열의 길이가 사각형 영역보다 클경우 글씨가 잘리는 현상이 발생한다 이현상을 막기위해 MeasureString 를 사용할수 있다.

 

    '화면에 사각형 출력
    Private Sub Screen_Rectangle_Drawing(ByVal D_String As String, ByVal Rectangle_Style As RectangleF)
        eScreen.Graphics.DrawRectangle(blackPen, Rectangle_Style.X, Rectangle_Style.Y, Rectangle_Style.Width, Rectangle_Style.Height) '사각영역을 그려준다

        Dim st = eScreen.Graphics.MeasureString(D_String, drawFont, Rectangle_Style.Size, drawFormat) '그려진사각영역안에 그린 문자열에대한 사이즈를 가지고 온다
        Dim re_font = drawFont
        Dim font_size As Integer
        font_size = drawFont.Size

'문자열의 사이즈가 사각형 영역의 사이즈와 같을경우 글자가 잘린 상태이므로

'반복문 안에 폰트크기를 줄여 줄수있는 루틴을 정의  한다.

        While (st.Height >= Rectangle_Style.Size.Height Or st.Width >= Rectangle_Style.Size.Width) 
            font_size = font_size - 1 ' 추출된 st 의 크기가 사각형 영역보다 크거나 같을경우 폰트크기를 줄인다
            re_font = New Font("돋움", font_size)
            st = eScreen.Graphics.MeasureString(D_String, re_font, Rectangle_Style.Size, drawFormat)

          '폰트 크기를 줄인후 다시 사이즈를 st에 저장시켜본다
        End While

'st 가 사각형 영역의 사이즈보다 작게된경우  반복문을 빠져나오고

사각형 영역안에 DrawString 을 사용하여 문자열을 그려준다.

        eScreen.Graphics.DrawString(D_String, re_font, drawBrush, Rectangle_Style, drawFormat)

    End Sub

Posted by 생각처럼
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함