중화사전망 - 자전 검색 - 델파이 7 컨트롤 배열을 정의하고 아래 첨자를 가져오는 방법은 무엇입니까?
델파이 7 컨트롤 배열을 정의하고 아래 첨자를 가져오는 방법은 무엇입니까?
먼저 그림을 보십시오.
{-------화려한 분할선이 시작되었습니다--
단위? Unit1;
연결
사용
윈도,? 소식? SysUtils? 변종? 반? 그래픽,? 컨트롤,? 양식,
대화? StdCtrls,? ExtCtrls
유형
TForm 1? =? 범주 (t 양식)
ScrBox 1:? TScrollBox
Pnl 1:? 티패널
Btn 1:? T 버튼
Edt2:? TEdit
Lbl 1:? TLabel
프로그램? Btn 1Click (보낸 사람:? To object);
프로그램? FormCreate (보낸 사람:? To object);
프로그램? SCR box 1 크기 조정 (보낸 사람:? To object);
프로그램? ScrBox 1MouseWheelDown (보낸 사람:? To object;; -응? Shift:? TShiftState
-응? MousePos:? 티포인트? Var? 처리:? 부울);
프로그램? ScrBox 1MouseWheelUp (보낸 사람:? To object;; -응? Shift:? TShiftState
-응? MousePos:? 티포인트? Var? 처리:? 부울);
개인
Btn:? T 버튼
FList:? TList? //버튼을 로드할 TList 변수를 정의합니다.
{? 개인? 신고? }
프로그램? SetPosition
프로그램? BtnClick (보낸 사람:? To object);
대중의
{? 공공? 신고? }
끝;
변수를 정의합니다
폼1:? Tform1;
수행
{$R? *.dfm}
{위치 조정}
프로그램? TForm 1 입니다. SetPosition
변수를 정의합니다
IntLeft,? IntTop:? 정수;
IntCount:? 정수;
시작
IntLeft? : =? 20;
IntTop? : =? 20;
뭐 때문에? IntCount? : =? 0? 어디 가? FList. 세어? -응? 1? 하다
시작
Btn? : =? FList. Items [intcount];
만약? IntLeft? +? Btn. 폭? & gt? ScrBox 1 입니다. 폭? 그리고 나서
시작
-응? IntLeft? : =? 20;
-응? IntTop? : =? IntTop? +? Btn. 키? +? 20;
끝;
Btn. 왼쪽? : =? IntLeft
Btn. 탑? : =? IntTop
IntLeft? : =? IntLeft? +? Btn. 폭? +? 20;
끝;
끝;
-버튼을 클릭하여 생성을 시작합니다.
프로그램? TForm 1.btn 1Click (보낸 사람:? To object);
변수를 정의합니다
IntCount:? 정수;
시작
만약? StrToIntDef(edt2). 문자,? 1)? & gt? 1000? 그리고 나서
시작
만약? MessageBox (핸들, PChar) 키를 너무 많이 입력하면 컴퓨터가 카드를 쓸 수 있습니다! ! ! +# 10# 13+' 계속하시겠습니까?' ),? 힌트',? Mb _ icon 정보? +? MB_YESNO)? =? MrNo? 그리고 나서
-응? 종료;
끝;
{FList 에 이미 객체가 있는 경우 먼저 해제하십시오}
만약? 할당됨 (FList)? 그리고 나서
뭐 때문에? IntCount? : =? 0? 어디 가? FList. 세어? -응? 1? 하다
-응? To object(FList[int count]). 무료;
FList. 명료하다 -응? //해제 후 포인터, 즉 nil 을 지웁니다 (이 코드 행은 매우 중요합니다. 그렇지 않으면 오류가 발생합니다! ) 을 참조하십시오
{기본적으로 버튼 만들기}
뭐 때문에? IntCount? : =? 1? 어디 가? StrToIntDef(edt2). 문자,? 1)? 하다
시작
Btn? : =? T 버튼. 만들기 (없음); -응? //컨트롤을 작성합니다 (매개변수가 self 인 경우 수동으로 해제할 필요가 없으며 양식을 닫으면 자동으로 릴리즈됩니다).
FList. 추가 (BTN); -응? //만든 버튼을 FList 에 놓습니다.
SetPosition? //위치 조정
Btn. 부모? : =? Scrbox1; -응? //ScrollBox 에 표시 (이 코드 행은 매우 중요하며, 이 코드 없이는 표시되지 않음)
Btn. 제목? : =? 버튼'+? Inttostr (intcount);
Btn. OnClick? : =? BtnClick? //버튼에 대한 click 이벤트를 동적으로 생성합니다.
끝;
ScrBox 1 입니다. SetFocus
끝;
좀 주세요. 다 붙이세요. 。 。
{-------화려한 분할선의 양쪽 끝--
PS: 1 입니다. 위의 FList 변수의 기능 및 사용법에 대해서는 직접 찾아보세요.
2. 동적 배열을 사용하지 않았습니다. TList 클래스가 더 유연합니다.
3. 제가 시연한 버튼은 창과 위치가 변화함에 따라 변할 수 있습니다. 직접 시도해 보세요.
4. 모든 버튼을 생성할 수 있지만 버튼을 너무 많이 입력하지 마십시오. 컴퓨터가 잘못 구성되면 카드가 죽을 것이다.
델파이 2007 을 사용합니다. 델파이를 사용하지 않는 한? XE(2), 다른 건 괜찮을 거야
6. 이해하지 못하고 다시 묻다.
7. 코드가 나붙어서 득점이 없는 것을 발견했다. 나는 매우 우울하다. 무슨 꿍꿍이를 꾸미는 거야! 질문을 해도 점수를 주지 않고 헛수고하다.
전체 코드가 필요하니 50 점을 추가해 주세요! ! !