|
변혁수 2004-07-12 PM 3:16:06 |
|
|
|
질문게시판으로 옮기겠습니다. |
|
|
김환욱 2004-07-12 PM 4:35:44 |
|
|
|
잘 되네요.. 타이틀바도 높이를 갖고 있기때문에 창틀무로 하셔야 됩니다. 그리고 그림판0.윗변:=스크롤바0.눈금위치 라고 하셨는데,
마우스로 그림판0을 움직였는데, 다시 마지막 코드에서 그림판의 윗변을 스크롤바의 눈금위치로 하는 이유가.. 그 명령어 빼니까 잘 돼네요.. 이제 백분율로 계산해서 스크롤바를 움직여 보세요. |
|
|
김환욱 2004-07-12 PM 4:49:26 |
|
|
|
숫자의 크기와 상관없이 백분율로 계산하면 항상 100% 이하이지요?
이것도 마찬가지로 스크롤바0의 최대값과 상관없이 항상
그림판0이 움직이는 이동폭으로 스크롤바0의 눈금을 처음부터 맨 끝까지 움직일수 있게 하면 됩니다.
백분율 구한다고 생각하시고 만들어보세요.. |
|
|
김환욱 2004-07-12 PM 4:52:19 |
|
|
|
하도 오래전에 만들어서 기억이 가물가물 하네요..
암튼 중요한것은 그림판0이 움직일수있는 한정된 공간으로
스크롤바의 최대값이 어떻던간에 스크롤바의 눈금을 처음부터 끝까지 왔다갔다 할 수 있어야 합니다. |
|
|
김환욱 2004-07-12 PM 5:14:51 |
|
|
|
알고리즘은... (그림판의 현재위치/그림판의 최대 이동거리)*스크롤바의 최대값
이 기본이 되고 거기에다가 자기 프로그램에 맞게 +- 해서 만들면 될거 같군요.. |
|
|
이시영 2004-07-12 PM 11:05:05 |
|
|
|
실수:인자1,인자2,인자3;
인자1:=스크롤바0.최대*12;
인자3:=소반올림(리스트박스1.내용.줄수/63);
되풀이(눌림=참){
인자2:=106/(밑판4.윗변-159);
스크롤바0.눈금위치:=((인자1/인자2)/12)-인자3;
같이실행해;}
에서..12는(2개다) 글자크기이고 106은 그림판이(밑판4)가 움직이는 범위,159는 그림판(밑판4)의 최대높이..(움직일때의가능한)입니다..
그런데..63은 모죠.;; |
|
|
이시영 2004-07-12 PM 11:08:46 |
|
|
|
리스트박스0.높이:=(리스트박스0.내용.줄수*12)+10;
스크롤바0.최대:=(리스트박스0.높이-120)/12;
에서..120은..또 무엇인가요.; |
|
|
김환욱 2004-07-13 PM 1:16:35 |
|
|
|
그 알고리즘은 복잡하니 (그림판의 현재위치/그림판의 최대 이동거리)*(스크롤바의 최대값) 이 알고리즘으로 작성하세요. 테스트해보니 아주 잘되더군요.. 또 글자크기가 9포인트일때 12를 넣으니 가장 잘 작동해서 12를 넣은것입니다. 12가 무조건 글자크기가 아닙니다. 120을 뺀것은 리스트가 최대한으로 자연스럽게 보이기 위해 넣은값인데요 50정도로 바꾸시고 테스트해보시면 쉽게 아실수 있을거예요. 이 항목은 저번에도 답변을 드렸었는데요.. |
|
|
이시영 2004-07-13 PM 2:47:59 |
|
|
|
그림판0. ㅎ마우스버튼을 누를때.
눌림:=참;
이전위치:=창0.윗변+4;
리스트박스0.높이:=(리스트박스0.내용.줄수*12)+10;
스크롤바0.최대:=(리스트박스0.높이-120)/12;
스크롤바0.눈금위치:=(그림판0.윗변/288)*100;
이런식으로,..하란말씀이신가요.;;
에러나는데.; |
|
|
김환욱 2004-07-13 PM 6:19:41 |
|
|
|
100을 곱하면 안되죠. 스크롤바의 최대값을 곱해야되죠..
그리고 그냥 그림판0의 윗변을 넣어서도 안됩니다.
그림판0의 최소위치가 1이 아니지 않습니까.. 그림판이 제일 위로 올라갔을때의 위치를 1로 나오게끔 계산하여 변수에 저장하고 그 변수를 대입하세요.. |
|
|
김환욱 2004-07-13 PM 6:20:24 |
|
|
|
예를 들어 그림판의 최소위치가 30 이라면 30-29 해서 1을 만든다음 그 수를 대입해야죠.. |
|
|
이시영 2004-07-13 PM 6:56:53 |
|
|
|
여기서..스크롤바의 최대값이란?정확히..모죠.;; |
|
|
이시영 2004-07-13 PM 7:05:35 |
|
|
|
그림판0.마우스버튼을 누를때
눌림:=참;
이전위치:=창0.윗변+4;
리스트박스0.윗변:=(그림판4.윗변-149/74)*100;
또는
스크롤바0.눈금위치:=(그림판0.윗변-149/74)*100);
인데요.;;음..
리스트박스를 해야되요?스크롤바르 해야되요?
그리고..아직..스크롤바의 최대값이먼지.;;
아마..리스트박스를한 위에것이맞을진데.;
그림판0을제일높이 올렸을떄가 150이고.
변경폭이 74랍니다.; |
|
|
이시영 2004-07-13 PM 7:11:23 |
|
|
|
또,리스트박스0을 누를때
만일(_키=38)
{만일(리스트박스0.내용.부분문자(스크롤바0.눈금위치)=리스트박스0.내용.부분문자(리스트박스0.내용위치))
{
스크롤바0.눈금위치:=((리스트박스0.내용위치-1));
리스트박스0.윗변:=(-스크롤바0.눈금위치)*11;}}
만일(_키=40)
{만일(리스트박스0.내용.부분문자(스크롤바0.눈금위치+23)=리스트박스0.내용.부분문자(리스트박스0.내용위치))
{
스크롤바0.눈금위치:=((리스트박스0.내용위치-22));
리스트박스0.윗변:=(-스크롤바0.눈금위치)*11;}}
에서...23과 22의..뜻이..모죠?;; |
|
|
이시영 2004-07-13 PM 7:11:54 |
|
|
|
궁금한게...아니..모르는게 너무 많은.; |
|
|
김환욱 2004-07-13 PM 9:46:24 |
|
|
|
스크롤바의 최대값이란 스크롤바의 최대 속성입니다.
너무 어려운 프로그램 제작에 뛰어드신것은 아니신지...
제가 만든 소스에 있는 숫자들은 제가 몇수십번 컴파일해가면서 이정도 넣으니까 잘 되더라.. 하고 생각해서 넣은것이므로 저도 하나하나다 기억하고 있지는 못합니다.. 프로그램 만들면서 이것도 넣어보고 저것도 넣어보고 하면서 만들어 지기 때문에요.. ^^;;
저 위에 키를 눌렀을때에 들어간 명령어는 위, 아래 화살표키를 눌렀을때 리스트를 스크롤하게끔 코딩한 소스인데요.. 리스트박스에서 선택한 문자가 현재 보이고 있는 화면에서 가장 위 거나 가장 아래일때만 리스트가 스크롤되게 작성한 거예요.. 윈앰프를 실행해서 리스트에서 화살표키를 누르면 선택내용이 맨 위 또는 맨 아래로 갔을때만 리스트가 스크롤되잖아요... |
|
|
김환욱 2004-07-13 PM 9:48:03 |
|
|
|
개인적으로 너무 성급하게 어려운 프로그램을 보고 따라하시지 마시고
기초부터 천천히 하시는게 좋을것 같다는 생각이 드네요.. |
|
|
이시영 2004-07-13 PM 10:57:31 |
|
|
|
기초적인것이라해도...
스크롤바는..필요하지 안을까요.;; |
|
|
이시영 2004-07-13 PM 11:00:37 |
|
|
|
그래도..새로알게된게 많은..;;
그스크롤과..연속재생만알면..그럭저럭완성인데..말이죠.;; |
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |