해당사이트입니다
http://www.dreamcompany.com/download.html#Dream%20Controls
나쁜토끼 님이 쓰신 글 :
: 김배근님// 감사합니다. 하지만 custmPal.bpk파일은 없나요??
: exe 파일과 소스파일만 있어서.. 제가 제대로 작동을 못시켜보고 있습니다.
: exe파일을 실행하면 [지원하지 않는 작동이 시도되었음]이라고 나옵니다.
:
: 장성호님// 감사합니다.
: 제가 C언어를 cmd 화면서 실행하는 것만 조금하다가 C++Bulder를 사용하다보니...
: 이해가 많이 안됩니다. ㅜ_ㅜ
:
: 이래저래
: 박스생성까지는 했습니다.
:
: 원하는 것을 조금 더 상세히?? 그림으로 올려봅니다.
:
: 혹시 참조할 소스를 아신다던지, 간단히 만들어주시면 처음 배우는 제게
: 많은 도움이 될것같습니다.
: 만드는것보다 분석하고, 편집해보면서 배우는게 더 많은 것 같습니다.
: 도움주시는 분들 너무너무 감사합니다.
:
:
: 아래는 박스만드는 코드를 올려봅니다.
:
:
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
: : TForm(Owner)
: {
: pList = new TList();
: k=0;
: }
:
: //---------------------------------------------------------------------------
:
:
: void __fastcall TForm1::PanelDown(TObject *Sender,
: TMouseButton Button, TShiftState Shift, int X, int Y)
: {
: ReleaseCapture();
: SendMessage(((TPanel*)(pList->Items[((TPanel*)Sender)->Tag]))->Handle , WM_NCLBUTTONDOWN, HTCAPTION, 0);
:
: }
: //---------------------------------------------------------------------------
:
:
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: TPanel* pPanel = new TPanel(Form1);
: pPanel->ParentWindow = Form1->Handle;
: pPanel->Top = 20+k*40;
: pPanel->Left = 20+k*80;
: pPanel->Width = 80;
: pPanel->Height = 40;
: pPanel->Tag = k;
: pPanel->Caption = k;
: pPanel->OnMouseDown = PanelDown;
: pList->Add(pPanel);
: k++;
: }
: //---------------------------------------------------------------------------
:
: 여기까지 했습니다. ㅠ_ㅠ
:
:
: =================================================================================
: 김배근 님이 쓰신 글 :
: : 이런거 말씀하시는건가요?
: : 아니면 죄송~
: :
: :
: :
: : 장성호 님이 쓰신 글 :
: : : 에....
: : : 이것 그냥 쉽게 되는 방법은 없을것 같네요
: : : 그런것을 지원해주는 라이브러리가 있는지는 모르겠구요
: : :
: : : 1. 박스 생성( TPanel 로 하는경우 )
: : : 1) 박스생성 버튼 클릭시 변수를 하나 체크 해두시구요
: : : 2) FormMouseDown이벤트에서 박스생성모드이면
: : : 현재 Mouse위치에 TPanel을 생성하시면 됩니다.
: : :
: : : 2. 버튼을 누른후 박스를 클릭하면 서로 선으로 이어지기
: : : - 박스가 두개여야 선으로 이을수 있겠죠
: : : - 그러니 박스(TPanel) 이 생성될때 TPanel이 Click이벤트( 또는 MouseDown 등)를 만들어 두셔야 겠네요
: : : - 여기서 어떻게 어떻게 마우스+키보드 이벤트를 이용해서 연결할 것인지 정해야 되겠죠
: : : ( 예 1 - 첫번째 패널에서 마우스down 한후 두번째 Panel에서 마우스up하면 연결되도록 한다)
: : : ( 예 2 - shift 키를 누른 상태에서 Panel 두개를 클릭하면 선으로 연결한다.)
: : :
: : :
: : : 3. 선연결 방법 ( 직선 연결 , 직각 꺽은선 연결 )
: : : - 이것도 여러가지 방법이 있습니다만 Form의 Canvas에다가 직접 draw하는경우로 생각해 보죠
: : : 1) 직선 연결
: : : 두 패널의 중심 좌표를 계산해서 (x1,y1 ) - (x2,y2 ) 직선을 그려주면 될것입니다.
: : : ( MoveTo , LineTo )
: : : 문론 여기서도 Form이 repaint 될때 다시 그려주는 부분을 해야 되구요
: : :
: : : 2) 직각 꺽은선 연결
: : : - 이것은 좀더 많이 생각해야 할것이 있겠네요
: : : - PowerPoint 처럼 중심점이 가로로 세로로 어느정도 차이가 나면 꺽은선으로 할지 결정이 필요하구요
: : :
: : :
: : :
: : : 하여간 원하시는 기능은
: : : vcl에 대해서 .. Builder에 대해서 기술적으로 많이 알아야 되는것은 아닌것 같은데...
: : : 직접 powerpoint의 도형과 연결선 그리기 같은것을 구현하려면 좀 머리 아플것 입니다.
: : :
: : :
: : :
: : : Panel을 동적 생성하는 방법
: : : 선그리는 방법 등은 여기 검색하면 많이 나와요
: : :
: : :
: : :
: : :
: : :
: : :
: : :
: : :
: : :
: : : 확인해 본후
: : :
: : :
: : : 나쁜토끼 님이 쓰신 글 :
: : : : 안녕하세요.
: : : :
: : : : 이제 막 볼랜드 C++ 5.0을 배우기 시작한 초보입니다.
: : : : 강의를 하나하나 보면서 따라하면서...배우고 있는데.. 어려움이 많습니다.
: : : :
: : : :
: : : : 쥐가 미로를 빠져나오듯이..
: : : : 기본이 될만한 간단한 안내표지판을 만들어 보고싶습니다.
: : : : 간단히 쥐와 끝지점을 만들고 이어주면 대각선방향이라도 ┏━┛이런식으로 꺽여서 나오겠지요.
: : : : 쥐가있는 시작점과 끝지점을 박스로 만들면 될것이라 생각해서 panel로 제작을 해보고자합니다.
: : : :
: : : : 기본이 안되어 있어서... 많은 가르침 부탁드립니다.
: : : :
: : : : 완벽한 소스를 원하는것이 아니라 배우고자하기때문에
: : : : 밑에 기능에 대한 방법과 설명을 하나씩이라도 알려주시면 감사하겠습니다.
: : : :
: : : :
: : : : 기본조건이 될만한것이
: : : : [박스생성] [선으로 연결하기] 2개의 버튼을 두는 것이겠지요.
: : : :
: : : : 1.[박스생성]버튼을 누른후 Form에 마우스로 클릭 하면 박스(panel)이 생성되도록 하는법.
: : : :
: : : : 2. [선으로 연결하기] 버튼을 누른후 박스를 누르면 서로 선으로 이어지도록하는 법.
: : : :
: : : : 3. 박스를 움직여도 선이 끊어지지않고 따라오도록 하는법
: : : :
: : : : ....
: : : : 잘몰라서 그냥 생각되는대로 적었습니다.
: : : : 혹시 비슷한 소스라도 가지고 계시다면 알려주시면 감사하겠습니다.