티스토리 뷰

작업창고

[vb6.0] header 요리하기

nwairr 2009. 4. 24. 18:11
반응형
.











vb를 이용해서 간단히 사용할 수 있는 헤더를 만들어 보기로 했다.

각설하고

 

VB에서도 저런 느낌을 낼 수 있다는 걸 이제서야 알게 해준 고마운 경험이었다... ㅎㅎㅎ

http://www.planet-source-code.com/란 사이트를 새로 알게되어 하이에나처럼 돌아다니며 구경을 하던 중

다운받은 소스에서 저 header를 보게되었고..너무나 탐이 나버린 나머지 내가 직접 맹글어 보기로 한 것.

사실 원래 소스에서는 코드가 너무 복잡하게 되어 있어서 코드는 내가 직접 짜 봤음.

그러나... 헤더에 들어가는 글귀는 따로 생각해 내기가 귀찮아서 그대로 사용...

우선 컨트롤 중에 picturebox를 사용해야 하는데, 

사실 그동안 picturebox가 단순히 사진을 보여주는 컨트롤 정도로만 치부했던 내 자신을 반성해보게 되는

중요한 계기가 되었다. 으흐~~

원리는 간단하게 생각하면 된다.

picturebox로는 그래프를 그릴 수 있는 기능이 있는데

시작좌표와 끝나는좌표를 지정하고 그 둘을 선으로 이어주는 것이다.

이것을 응용하는 것인데, 다음과 같은 코드를 사용하면 된다.


picGrad.Cls ''초기화
picGrad.AutoRedraw = True ''AutoRedraw의 속성이 false일 경우 포커스가 이동되면 수동으로 draw를 해줘야 함. 
'' line의 인자값은 : 시작좌표-끝좌표, 색, 선면(B는 선, F는 면 즉 색칠하기임)
picGrad.Line (0, 0)-(picGrad.ScaleWidth * 0.5, picGrad.ScaleHeight), RGB(0, 0, 255), BF
    
For i = 0 To 254
    picGrad.Line ((picGrad.ScaleWidth * 0.5) + (i * ((picGrad.ScaleWidth * 0.5) / 254)), 0) _
    -(picGrad.ScaleWidth, picGrad.ScaleHeight), RGB(i, i, 255), BF
Next
'' 이부분이 label의 top을 어디에 있든지 정위치에 놓이도록 해주는 부분
Label1.Top = (picGrad.ScaleHeight * 0.5) - (Label1.Height  * 0.8) '' 이론상 0.5를 곱해주면 되지만, 실제로 0.8정도를 곱해야 이쁘게 나온다''

이런정도의 노가다성 코딩으로 결과를 만나 볼 수가 있는 것이다.

물론 더 고민하면 더 나은 코드가 나오겠지마는....쩝....

참 쉽죠?  ㅎㅎ








.

반응형
댓글
반응형
05-17 05:57
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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 29 30 31
글 보관함