▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

스크롤바(ScrollBar) 구현하기

조회 수 6301 추천 수 0 2005.05.25 02:19:08
뭉충닷컴 *.101.175.159
스크롤바 구현하는 예제인데 제대로 소스 분적해 보지 않았지만 나름대로 소스가 짧아서 좋다.
헌데 이것 저것 몇가지 테스트 해본 결과 뭐랄까...바로 프로그램에 적용하기엔 좀 무리한 감이 따른다. 코드 실행시켜보면 알겠지만 스크롤링이 그리 좋지 않다.. -_- 스크롤을 마우스로 드래그하면 어느정도 되는데 스크롤바의 화살표 버튼을 이용하면 너무 느리다. 또 한가지 여기 소스는  A~L 까지 뿌려진 문자열을 스크롤 하는데 A~Z로 바꾸니 스크롤 크기가 좀 맞지 않는다. 뭔가 2% 부족한 스크롤이다.. -_-

2개의 PictureBox 컨트롤과 한개의 VScroll1만 대충 추가시켜놓으면 알아서 위치 잡아서 스크롤한다.(요건 좀 편하다 대게 스크롤 하려면 미세하게 컨트롤들 배열해야하는데 그럴 필요가 없다.)




Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Const SRCCOPY = &HCC0020
Const SRCAND = &H8800C6
Const SRCINVERT = &H660046

Private TwipsX As Long
Private TwipsY As Long
Private DestPicx As Long
Private DestPicY As Long

Private Sub ScrollPic(SourcePic As Object, DestPic As Object, Scroll As Object)
    BitBlt DestPic.hDC, 0&, 0&, DestPicx, DestPicY, SourcePic.hDC, 0&, Scroll.Value, SRCCOPY
End Sub


Private Sub Form_Activate()
    'Picture2 개체를 Picture1 개체안에 삽입
    ScrollPic Picture2, Picture1, VScroll1
End Sub

Private Sub Form_Load()
    With Me
        .Height = 5000
        .Width = 6500
    End With
    
    With VScroll1
        .Left = 3200
        .Top = 200
        .Height = 1000
    End With
    
    With Picture1
        .Left = 200
        .Top = 200
        .Width = 3000
        .Height = 1000
    End With
    
    With Picture2
        .AutoRedraw = True
        .Left = 200
        .Top = 1500
        .Width = 3000
        .Height = 2500
        .Visible = False
    End With
    
    TwipsX = Screen.TwipsPerPixelX
    TwipsY = Screen.TwipsPerPixelY
    DestPicx = Picture2.Width / TwipsX
    DestPicY = Picture2.Height / TwipsY
    VScroll1.Max = Picture2.Height / TwipsY - Picture1.Height / TwipsY
    
    Dim i As Integer
    
    For i = 0 To 11
        Picture2.Print Chr$(65 + i)
    Next i
End Sub

Private Sub VScroll1_Change()
    ScrollPic Picture2, Picture1, VScroll1
End Sub

Private Sub VScroll1_Scroll()
    ScrollPic Picture2, Picture1, VScroll1
End Sub





Source Page : http://www.mentalis.org/tips/tip057.shtml
문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 본 게시물들은 AllAPI.net 에서 퍼온것을 수정한겁니다. 뭉충닷컴 2005-05-24 7601
» 스크롤바(ScrollBar) 구현하기 뭉충닷컴 2005-05-25 6301
43 모니터 스크린(Screen) 해상도 구하기 뭉충닷컴 2005-05-25 6639
42 전체화면, 현재 폼, 다른 활성화된 창 캡쳐(Capture)하기 and 프린트(Print) 하기 file 뭉충닷컴 2005-05-25 5066
41 이미지의 투명도(transparent) 설정 뭉충닷컴 2005-05-25 6047
40 이미지크기 늘리기 (이미지 크기 변환) 뭉충닷컴 2005-05-25 6146
39 마우스(Mouse)의 X축 Y축 좌표값 구하기 뭉충닷컴 2005-05-24 7092
38 마우스(Mouse)의 오른쪽/ 왼쪽 버튼 바꾸기 뭉충닷컴 2005-05-24 4296
37 마우스(Mouse)의 커서(Cursor) 숨기기/보이기 뭉충닷컴 2005-05-24 6251
36 리스트박스(ListBox) 위에 마우스 올려졌을때 항목 보여주기 뭉충닷컴 2005-05-24 5669
35 마우스(Mouse) 포인터를 컨트롤로 이동 시키기 뭉충닷컴 2005-05-24 5133
34 제목바(Title Bar) 없이 마우스로 폼 드래그해서 폼 이동시키기 뭉충닷컴 2005-05-24 4714
33 마우스(Mouse) 이동 뭉충닷컴 2005-05-24 4599
32 마우스(Mouse)의 버튼수 구하기 - 그 외 기타 시스템 정보 구하는 법 뭉충닷컴 2005-05-24 4526
31 마우스(Mouse)의 더클클릭(Double-Click) 시간 얻어오기 뭉충닷컴 2005-05-24 4250
30 마우스(Mouse)의 더블클릭(Double-Click) 시간 변경 뭉충닷컴 2005-05-24 5006
29 마우스 움직임을 폼안에서만 가능하도록 제한하기 뭉충닷컴 2005-05-24 4639
28 동영상(avi) 파일 재생하기 뭉충닷컴 2005-05-24 7266
27 자신의 PC에 사운드 카드가 설치되어있는지 여부 검사 뭉충닷컴 2005-05-24 4036
26 미디(MIDI) 파일, 웨이브(Wave) 파일 실행 시키기 뭉충닷컴 2005-05-24 5204