C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[18068] Re:TEdit를 동적생성해 보세요.
박세용 [sypark] 1034 읽음    2002-04-30 18:37
API말고 TEdit를 동적생성해서 사용하세요.
아래처럼 마우스 클릭하면 TEdit 동적 생성해서
입력 받을 수 있습니다.



// TForm1.h -----------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
   void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y);
   void __fastcall EditExit(TObject *Sender);
private:    // User declarations
   TEdit    *pE;
   int    x, y;
public:        // User declarations
   __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif


// TForm1.cpp ---------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
   x = X;
   y = Y;

   pE = new TEdit( this );
   pE->Parent = this;
   pE->Top = Y;
   pE->Left = X;
   pE->Width = 150;
   //pE->ParentColor = true; // 배경색과 같게하느냐 아니면 default(흰색)을 쓰는가
   pE->BorderStyle = bsNone;
   pE->OnExit = EditExit;
   pE->Visible = true;
   ActiveControl = pE;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::EditExit(TObject *Sender)
{
   if( pE == NULL ) return;

   Canvas->TextOut( pE->Left, pE->Top, pE->Text );

   delete pE;
}
//---------------------------------------------------------------------------



^^* 님이 쓰신 글 :
: Timage에다가 마우스 클릭하믄 글짜가 써지는 걸 만들라구 하는데영...
: GetCaretPos나 SetCaretPos를 이용하라는디...ㅡㅜ:
: 에이피 아이는 영 꽝 이라서영...
: 어캐 하믄 돼는지 쪼금만 도움을 주셔영...

+ -

관련 글 리스트
18040 Caret을 이용해서 image에 글짜 쓰는법.... ^^* 822 2002/04/29
18068     Re:TEdit를 동적생성해 보세요. 박세용 1034 2002/04/30
18053     Re:Caret을 이용해서 image에 글짜 쓰는법.... 유영인 [Chris] 1093 2002/04/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.