Q&A

  • 클립보드에 복사하기
델파이 시작한지 얼마 안돼서 하루에두 몇번씩

질문을 올리는데..항상 답변해 주셔서 감사해요..^^



제가 여기서 클립보드 복사하는 예제를 보구 사용하려고 하는데요..

궁금증이 생겨서요...

procedure TViewForm.CopyTextToClip(CopyStr: String);

var

P: PChar;

hMem: THandle;

begin

if CopyStr = '' then

System.Exit;



{클립보드를 열어 응용 프로그램이 내용을 읽거나 세트할 수 있게 한다}

OpenClipboard(handle);

{클립보드를 비우고 그것에 관계하는 데이타를 자유롭게 한다}

EmptyClipboard();

{전역 힙(heap)에 메모리 블록을 할당한다}

hMem := GlobalAlloc(GMEM_MOVEABLE, 255);

{전역 힙의 할당된 메모리 블록을 고정(lock)시킨다}

P := GlobalLock(hMem);

{힙에 문자열을 복사}

StrPCopy(P, CopyStr);

{전역 메모리 핸들을 클립보드에 전달, 메모리 블록은 클립보드 데이타가 된다}

SetClipboardData(CF_TEXT, hMem);

{전역 힙에서 메모리 블록의 잠금 해제}

GlobalUnlock(hMem);

{클립보드를 닫는다}

CloseClipboard();

end;



이런 예제를 봤거든요...윈도우 API 함수 사용하는 예제인데...전 초보라 API

함수 사용하기가 너무 버거워서요...

TRichEdit 컴포넌트 메서드 중에

CopyToClipBoard, CutToClipboard, ..등의 메서드가 있던데..

이 메서드들의 기능이 좀 떨어지는 건가요...?



API 함수를 사용하는 거랑, 컴포넌트의 메서드로만 하는 거랑

어떤 기능 상의 차이가 있는지 알고 싶습니다..단지 구현 상의

차이밖에 없는지도 궁금하구요...

너무 초보적인 질문이라도..가르쳐주세요...^^;;

1  COMMENTS
  • Profile
    양병규 2000.06.17 10:27
    그냥 리치에디트의 메소드를 이용하시면 됩니다.



    리치에디트 콤포넌트는 RidhEd32.dll을 사용하는데 이놈이 내부적으로 클립보드로 복사해 넣는 API를 사용합니다. 그러니깐 그게 그겁니다.



    그럼

    평안하시길~

    • 양병규
      2000.06.17 10:20
      그대로 쓰셔도 무방합니다. 여기서 Shift: TShiftState는.. 키보드 메시지들을 받아서 기능키들(콘트...
    • 양병규
      2000.06.17 10:21
      쩝~ 이상하네요 델5에도 델4와 같이 똑같이 있는데용~ 혹시 스탠다드에는 빠졌남? 그럼 평안하시길...
    • 이정민
    • 2000.06.17 09:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.17 10:33
      안녕하세요. 최용일입니다. 정말 오래간만이네요. 이젠 그만 두신줄 알았는데.... 근데 어쩌나.... ...
    • 이정민
      2000.06.17 11:24
      암튼 감사드립니다. 용일님.. 제가 여쭈어본건 그게 아니였는데.. 다시 글을 올려야겠네여.. ...
    • 초보
    • 2000.06.17 06:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박흥태
      2000.06.17 08:34
      초보 wrote: > 자료변환을 할려고 하는데요... > > 예를 들어... 1. '홍 길 동' -----> '홍길동' > ...
    • 유레카
      2000.06.17 18:35
      stringReplace('홍 길 동',' ','',[rfReplaceAll]) 하면 리턴값이 홍길동 박흥태 wrote: > 초보 wrot...
    • 타락천사
      2000.06.17 19:36
      안녕하세여.. 타락임다..^^ 글쿤여. 글을 여러번 올렸군여... 제가 바뻐서뤼...ㅠㅠ QRExpre 속성...
    • 손상택
    • 2000.06.17 06:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.17 11:11
      안녕하세요. 최용일입니다. Tile이나 Center나 그게그거 아닌가요? 타일처럼 반복해서 여러번 그려주는 ...
    • 문승진
    • 2000.06.17 03:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 양병규
      2000.06.17 10:23
      OnShow에서 닫을꺼면 처음부터 폼을 안여는게 더 좋을것같군요 히~ !^^! 그럼 평안하시길~ 문승진 ...
    • nilriri
      2000.06.17 04:05
      디비그리드에 사용한 데이터 소스컴포넌트를 이용하시면 될것같습니다. procedure TForm1.DataSource1Data...
    • 델초...
    • 2000.06.17 03:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박흥태
      2000.06.17 08:44
      델초... wrote: > 오늘부터 7일 이내의 자료를 뽑고 싶어서 아래와 같이 코딩했는데.... > 컨버젼 에러.....
    • blueofsky
    • 2000.06.17 04:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 고양이
      2000.06.17 06:20
      blueofsky wrote: > 안녕하세요... > > 저는 어떤 특정한 날에 딱 한번만 실행되게 하려고 합니다. 폼...
    • 한창희
      2000.06.17 11:06
      고양이 wrote: > blueofsky wrote: > > 안녕하세요... > > > > 저는 어떤 특정한 날에 딱 한번만 실행...
    • 윤티
      2000.06.17 05:53
      박종민 wrote: > 안녕 하세요? > > BacTeria 박종민 입니다. > > 휠 마우스의 움직임을 훅 하려고 ...
    • 윤티
      2000.06.20 04:24
      윤티 wrote: > 박종민 wrote: > > 안녕 하세요? > > > > BacTeria 박종민 입니다. > > > > 휠 마우...
    • 윤티
      2000.06.20 05:48
      윤티 wrote: > 윤티 wrote: > > 박종민 wrote: > > > 안녕 하세요? > > > > > > BacTeria 박종민 입...
    • HELP ME
    • 2000.06.17 02:22
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 그냥
      2000.06.17 11:10
      HELP ME wrote: > 현재 보이는 DBGrid만 출력하는 방법이 있나요? > 알려주세요... 죄송합니다. 이런...
    • 그냥 2
      2000.06.17 11:15
      맞습니다. 정확한 상황을 알려주어야죠. 광범위한 질문이나 얘매모호한 질문은 대답을 해드리고 싶어도 ...
    • HELP ME
      2000.06.18 03:14
      그러니까...조회를 해서 많은 데이터가 그리드에 검색되었습니다.. 스크롤바를 내리면 데이터가 계속 보이...
    • cooli
    • 2000.06.17 02:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최영근
      2000.06.17 05:13
      cooli wrote: > Quick Report를 써서 미리보기를 한 다음 파일로 저장하려면 > Qrp파일로 저장이 되는데 ...
    • 이윤영
    • 2000.06.17 02:03
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 손님
      2000.06.20 04:30
      이윤영 wrote: > Access DB를 ODBC을 이용하여 연결하여 사용할려구 합니다. > > 근데 한 Table의 필드...
    • 이윤영
      2000.06.20 18:32
      손님 wrote: > 이윤영 wrote: > > Access DB를 ODBC을 이용하여 연결하여 사용할려구 합니다. > > > >...
    • 김동진
    • 2000.06.17 01:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.17 11:06
      안녕하세요. 최용일입니다. 아래와 같은 방식이 아니라 순수하게 문자를 식으로써 계산하려 하신다면 자...
    • azure
      2000.06.17 02:30
      김동진 wrote: > str:='1+2+3+4+5' 이고 > edit1.text:=str 하면 1+2+3+4+5 가 됩니다. > 그런데 전 e...
    • azure
    • 2000.06.17 01:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 양병규
      2000.06.17 10:27
      그냥 리치에디트의 메소드를 이용하시면 됩니다. 리치에디트 콤포넌트는 RidhEd32.dll을 사용하는데 이...
    • 델사랑
    • 2000.06.17 01:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강호규
      2000.06.27 02:37
      델사랑 wrote: > 이수정 wrote: > > > > 10057 에러가 무슨 에러 인가요?? > > > > Getpeername ...