|
다음과 같은 판넬 움직임을 원하시는거 맞죠? 아니면 뭐 ㅋ^^
판넬이 2개가 있고, 서로 밀려서 움직입니다.
1. 1,2번 다운
[1]
[2]
[빈공간]
여기서 1번을 누르면 2번을 밀어서 같이 내려가야죠.
[빈공간]
[1]
[2]
2. 2번만 다운
[1]
[2]
[빈공간]
여기서 2번을 누르면 2번만 내려가겠죠.
[1]
[빈공간]
[2]
3. 1,2번 업
[빈공간]
[1]
[2]
여기서 2번을 누르면 1번을 밀어서 같이 올라가겠죠.
[1]
[2]
[빈공간]
4. 1번만 업
[빈공간]
[1]
[2]
여기서 1번을 누르면 1번만 올라가죠.
[1]
[빈공간]
[2]
//////////////////
일단 원래 소스에서 b와 a가 panel의 Top을 받아와서 조정하시는데 다시 Panel에 돌려주는 코드가 없습니다.
또 타이머가 생각보다 빠르게 움직이지 않고요.
제가 소스를 많이 수정해봤는데 보시구 말씀해주세요.
니라카 님이 쓰신 글 :
: 현제 판넬 을 누르면 밑으로내려가고 한번더누르면 올라가게 짜고있습니다
:
:
:
: 근데 그게
:
:
:
: 판넬1
:
:
:
: 판넬2
:
:
:
: 인경우 판넬1을 클릭하면 동시에내려가야하며
:
:
:
: 판넬1
:
: 판넬2
:
:
:
: 의 경우 판넬2 누르면 둘다 올라가야합니다,
:
:
:
: 현제제가 짠소스는
:
:
:
:
:
: -------------------
:
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: int sw=0 ,a,sf,b=56,sg,pat,pay,sh=0,d;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
: : TForm(Owner)
: {
:
:
: }
: //---------------------------------------------------------------------------
:
:
:
:
:
:
: void __fastcall TForm1::Panel3Click(TObject *Sender)
: {
: Timer1->Enabled=true;
: pat=1;
:
:
: }
: //---------------------------------------------------------------------------
:
:
:
:
: void __fastcall TForm1::Timer1Timer(TObject *Sender)
: {
: if(pat==1)
: {
: Panel3->Top=b;
: if(sf==0 && b<=416) // 내리기
: {
: b++;
: if(sf==0 && b==416) // sf=1
: {
: sf=1;
: pat=0;
: Timer1->Enabled=false;
: }
: }
: else if(sf==1 && b>=56) //올리기
: {
: b--;
: if(sf==1 && b==56)
: {
: sf=0;
: pat=0;
: Timer1->Enabled=false;
: }
: } ///////////판넬2
: if(pay==1)
: {
: Panel2->Top=a;
: if(sg==0 && a<=360) // 내리기
: {
: a++;
: if(sg==0 && a==360) // sg=1
: {
: sg=1;
: pay=0;
: Timer1->Enabled=false;
: }
: }
: }
:
: }
:
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::Panel2Click(TObject *Sender)
: {
: Timer1->Enabled=true;
: pay=1;
: }
: //---------------------------------------------------------------------------
|