Q&A

  • 윈도우 API 함수 질문..
윈도우 API 함수중에 TextOut 이라는걸 이용해서

해당 DC에 문자열을 출력시킬 수 있는데..

그 출력하는 문자열의 폰트, 폰트 크기, 색깔등을 변경할 수 있는

다른 API 함수가 있으면 가르쳐주세요.

그리고 해당 DC에 그림을 그릴수 있는 방법 좀 가르쳐주세요 ㅠ.ㅠ

그리고 마소 오피스 프로그램에서 도우미를 보면 윈도우 최상위에 위치해서

애니메이션이 출력돼잖아요.. 이런거 어떻게 하는건지.. 궁금 ^^;

질문이 너무 많은듯 싶은데.. 제대로 가르쳐주실분 답변해주세요.. ^^;

5  COMMENTS
  • Profile
    2001.11.24 01:08
    이렇게 답변글 올려주신 홍성락님께 진심으로 감사드립니다.



    그런데, 저의 질문과 약간 엊갈리는 부분이 있어서요...



    음. 스트링그리드의 데이터를 읽기를 하긴 하는데 내프로그램내에 있는 스트링그리드가 아니라

    다른 프로그램상의 스트링 그리드입니다. 즉, 타업체의 프로그램이라 볼 수 있죠?



    뭐 좋은 방법이 있을 까요?

    부탁드립니다.





       wrote:

    > 윈도우 API 함수중에 TextOut 이라는걸 이용해서

    > 해당 DC에 문자열을 출력시킬 수 있는데..

    > 그 출력하는 문자열의 폰트, 폰트 크기, 색깔등을 변경할 수 있는

    > 다른 API 함수가 있으면 가르쳐주세요.

    > 그리고 해당 DC에 그림을 그릴수 있는 방법 좀 가르쳐주세요 ㅠ.ㅠ

    > 그리고 마소 오피스 프로그램에서 도우미를 보면 윈도우 최상위에 위치해서

    > 애니메이션이 출력돼잖아요.. 이런거 어떻게 하는건지.. 궁금 ^^;

    > 질문이 너무 많은듯 싶은데.. 제대로 가르쳐주실분 답변해주세요.. ^^;

  • Profile
    김진호 2000.07.18 03:00
    > 윈도우 API 함수중에 TextOut 이라는걸 이용해서

    > 해당 DC에 문자열을 출력시킬 수 있는데..

    > 그 출력하는 문자열의 폰트, 폰트 크기, 색깔등을 변경할 수 있는

    > 다른 API 함수가 있으면 가르쳐주세요.

    > 그리고 해당 DC에 그림을 그릴수 있는 방법 좀 가르쳐주세요 ㅠ.ㅠ

    > 그리고 마소 오피스 프로그램에서 도우미를 보면 윈도우 최상위에 위치해서

    > 애니메이션이 출력돼잖아요.. 이런거 어떻게 하는건지.. 궁금 ^^;

    > 질문이 너무 많은듯 싶은데.. 제대로 가르쳐주실분 답변해주세요.. ^^;





    원래 API란 복작하고 어렵습니다..순전히 노가다죠..



    그래서 델파이에는 켄바스란 객체가 있습니다..



    var ImageSrc : TPicture;

    hdcImage : HDC;

    begin

    ImageSrc := TPicture.Create;

    ImageSrc.LoadFromFile(Path);



    hdcImage := CreateCompatibleDC( 0 );



    SelectObject( hdcImage, ImageSrc.Bitmap.handle );



    BitBlt( f_hDC, 0, 0, Img.FWidth * Max, Img.FHeight,

    hdcImage, 0, 0, SRCCOPY );



    DeleteDC(hdcImage);

    ImageSrc.Free;

    end;



    이런 복잡한 코딩을 켄바스로 한다면 간결하죠..



    var

    T_Rect : TRECT;

    hdcImage : HDC;

    Canvas : TCanvas;

    begin

    Canvas := TCanvas.Create;

    with Canvas do

    begin

    Font.Name := '굴림체';

    Font.Size := 9;

    Font.Color := clYellow;

    Brush.Style := bsClear;

    hdcImage := CreateCompatibleDC( 0 );



    Canvas.handle := hdcImage;



    TextOut(X, Y, '우헤헤 이렇게도 되는 구나!');



    DeleteDC(hdcImage)

    end;

    Canvas.Handle := 0;

    Canvas.Free;

    end;



    이런 방법도 맘에 안드신다면 메로리를 직적 억세스 하시던가여..

    아님...능력이 허락한다면 어
  • Profile
    양병규 2000.07.17 11:51
    물론...



    API에 폰트를 바꾸고 그림을 그리는것들이 다 있습니다.



    그런데...



    질문하신분께 이런 내용을 다 답변해 드리면... 분명히 다음에는 또 먼가를 질문해 오시겠군요...(답변을 하다보니 생긴 노하우(?) !^^!)



    그래서...



    답변을 얻을수 있는 방법을 알려드리겠습니다.

    우선



    윈도API바이블 과 같은 책이 있습니다. 윈도 API만 설명해 놓은 레퍼런스인데 물론 다 나와있지는 않지만 웬만한것들은 다 있습니다. 그런 책을 참고하시고요



    둘째로는 델파이에 있는 Windows.pas에서 비슷한 이름의 함수를 찾아보시고 반드시 도움말에서 그 함수의 설명을 보세요..



    또 한가지 델파이의 콤포넌트도 결국은 API를 사용합니다.

    델파이의 콤포넌트가 어떻게 폰트를 바꾸고 어떻게 그림을 그리는가를 추적해 보세요



    이 외에도 공부를 할수 있는 방법은 많이 있습니다.

    MS사이트에서 찾아봐도 되겠고...



    하지만 모든 내용을 게시판에서 다 해결할라고 하면 실력은 별로 늘지 않습니다.

    (헤헤 죄송)



    그럼

    평안하시길~

  • Profile
       2000.07.17 16:58
    죄송하지만 위에서 말했듯이 이런 답변을 요구한게 아니라서.. ^^;

    저도 직접 1시간동안 API 함수만 뒤지고 와서.. 웬만한건 다 해봐서 말이져..

    어떤 함순지 제대로 몰라서 그러는거거든여.. ^^;

    다시 제대로 답변 주실분..



    양병규 wrote:

    > 물론...

    >

    > API에 폰트를 바꾸고 그림을 그리는것들이 다 있습니다.

    >

    > 그런데...

    >

    > 질문하신분께 이런 내용을 다 답변해 드리면... 분명히 다음에는 또 먼가를 질문해 오시겠군요...(답변을 하다보니 생긴 노하우(?) !^^!)

    >

    > 그래서...

    >

    > 답변을 얻을수 있는 방법을 알려드리겠습니다.

    > 우선

    >

    > 윈도API바이블 과 같은 책이 있습니다. 윈도 API만 설명해 놓은 레퍼런스인데 물론 다 나와있지는 않지만 웬만한것들은 다 있습니다. 그런 책을 참고하시고요

    >

    > 둘째로는 델파이에 있는 Windows.pas에서 비슷한 이름의 함수를 찾아보시고 반드시 도움말에서 그 함수의 설명을 보세요..

    >

    > 또 한가지 델파이의 콤포넌트도 결국은 API를 사용합니다.

    > 델파이의 콤포넌트가 어떻게 폰트를 바꾸고 어떻게 그림을 그리는가를 추적해 보세요

    >

    > 이 외에도 공부를 할수 있는 방법은 많이 있습니다.

    > MS사이트에서 찾아봐도 되겠고...

    >

    > 하지만 모든 내용을 게시판에서 다 해결할라고 하면 실력은 별로 늘지 않습니다.

    > (헤헤 죄송)

    >

    > 그럼

    > 평안하시길~

  • Profile
    타락천사 2000.07.18 19:19
    안녕하세여..타락임다..^^



    무슨 질문인가 곰곰히 생각해 봤는데, ..님의 의도를 모르겠더군여..ㅠㅠ



    TextOut 만큼 편하게 글을 쓰는게 또 있겠어여?



    강의실에 유수님의 글을 보세여..



    아마 원하시는게 거기 있을듯...ㅠㅠ



    타락천사...

    • 윤상철
    • 2000.07.18 05:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강상성
      2000.07.25 00:14
      저도 이것 때문에 상당히 고생했습니다. 하나 빼 먹은 속성이 있습니다. 도움말에도 언급이 되어 있지 않...
    • happykevin
      2000.07.19 19:03
      저도 믿을 수 없는 초보인데.. 이것은 우연하게 되더군요. 생각보다 간단합니다. 1) 우선 콤보박스에 ...
    • 구창민
    • 2000.07.18 03:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.07.18 19:56
      최영근 wrote: > 안녕하세요 ? > > 답변해 주셔서 고맙습니다. > 관련 소스들을 올립니다. > > >...
    • 타락천사
      2000.07.18 19:28
      글문 전 초보도 못돼나여? ㅠㅠ 흑흑...T_T 안구래두 요즘 고수덜이 초보라구 하는데...ㅠㅠ .....
    • 이상현
    • 2000.07.17 22:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.07.18 03:38
      이상현 wrote: > 저는 왕초보 갓 델파이를 시작한 학생입니다.. > > 책을보면서 열심히 연마(?) 하고있...
    • 사람
    • 2000.07.17 20:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.07.18 03:28
      사람 wrote: > 다른 기능 필요없고 > 그냥 기본적인 복사,등록기능과 언인스톨 기능만 있으면됩니다. > ...
    • 타락천사
      2000.07.18 19:24
      안녕하세여 타락임다..^^ ListBox1 : Source, ListBox2 : Destination ListBox2.Itmes.Assign(ListBo...
    • 강인규
      2000.07.17 20:47
      예전에 만들었던건데 동작은 할거에요 var i : integer; begin if listbox1.items.Count < 1 then ...
    • somoon
    • 2000.07.17 16:14
    • 2 COMMENTS
    • /
    • 0 LIKES
    • somoon
      2000.07.18 15:39
      안녕하세요. 님이 친절히 알려주신 batchmove에 대하여 정말 너무나 감사합니다. 이렇게 간단하게 전 ...
    • 김영해
      2000.07.17 20:33
      somoon wrote: > 고수님들 안녕하십니까? > > query1의 전체 레코드를 table1에 복사하려합니다. > ...
    • chipwar
    • 2000.07.17 10:09
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이유정
    • 2000.07.17 06:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이경문
      2000.07.18 07:32
      이유정 wrote: > > 델파이에서 기본적으로 지원하는 소켓 컴포넌트대신에 > 다른곳에서 만들어진 win...
    • 양병규
      2000.07.17 11:44
      디비그리드의 셀을 디비와 상관없이 알아내려면... TCustomGrid를 상속받아서 새로운 그리드를 정의한다음...
    • 아세만
      2000.07.17 09:46
      김연기 wrote: > DBGrid 사용시에... > > DBGrid 특정 CELL에서 입력시 > 현재 CELL에 입력된 문자를 ...
    • 선해석
    • 2000.07.17 02:04
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.07.17 02:20
      그 방법보다는 Query1.Refresh; 이게 조금 나은 방법이죠.그래도 조금의 깜박거림은 감수해야할듯.....
    • 선해석
      2000.07.17 10:02
      강인규 wrote: > 그 방법보다는 > > Query1.Refresh; > > 이게 조금 나은 방법이죠.그래도 조금의 ...
    • 갱민이
      2000.07.17 11:37
      TDataSet의 Method에는 DisableControls,EnableControls가 있습니다. 이들 이용하면 TDataSet의 Open,Clo...
    •   
    • 2000.07.17 01:43
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 2001.11.24 01:08
      이렇게 답변글 올려주신 홍성락님께 진심으로 감사드립니다. 그런데, 저의 질문과 약간 엊갈리는 부분...
    • 김진호
      2000.07.18 03:00
      > 윈도우 API 함수중에 TextOut 이라는걸 이용해서 > 해당 DC에 문자열을 출력시킬 수 있는데.. > 그 출...
    • 양병규
      2000.07.17 11:51
      물론... API에 폰트를 바꾸고 그림을 그리는것들이 다 있습니다. 그런데... 질문하신분께 이런 내...
    •   
      2000.07.17 16:58
      죄송하지만 위에서 말했듯이 이런 답변을 요구한게 아니라서.. ^^; 저도 직접 1시간동안 API 함수만 뒤지...
    • 타락천사
      2000.07.18 19:19
      안녕하세여..타락임다..^^ 무슨 질문인가 곰곰히 생각해 봤는데, ..님의 의도를 모르겠더군여..ㅠㅠ ...
    • 김연기
      2000.07.17 01:20
      박승규 wrote: > 예를 들어 어떤 테이블의 필드가 > |필드명| > -------- > | A | > | A...
    • 갱민이
      2000.07.17 11:49
      김연기 wrote: > 박승규 wrote: > > 예를 들어 어떤 테이블의 필드가 > > |필드명| > > -------- ...
    • 선해석
    • 2000.07.16 09:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.07.16 22:25
      Time 대신 Now로 해보세여..
    • 선해석
      2000.07.16 23:46
      내용 없당께요.. 근디.. now랑 time이랑 무신 차이지??
    • 이승리
    • 2000.07.16 09:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김진호
      2000.07.18 00:06
      이승리 wrote: > 안녕하세요.. > > 이미지 박스에 그림을 불러올려 합니다.. 하드에서 말고, > 컴퓨터...
    • 델초보
    • 2000.07.16 02:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 어린왕자
      2000.07.19 03:41
      델초보 wrote: > 성적관리 프로그램을 해보려고 하는데요... > 관련 프로그램이나 소스같은 것 좀 올려주...
    • 한영수
    • 2000.07.16 01:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • parkisu
      2000.07.16 08:14
      한영수 wrote: > 초보적인 질문인데 알려주시분 계시리라 생각하며 질문 올립니다. > 데이타 베이스와 연...
    • 이경문
      2000.07.18 07:36
      코딩으로 해야 됩니다. 예를 들면 procedure TForm1.DataSource1Change(...); begin Edit1.Text := T...