Q&A

  • 부모 MdiForm의 바탕에 이미지 넣기
Parent Mdi Form의 바탕에 이미지를 넣으려고 합니다..

그냥 이미지 컴포넌트 넣고는 안되던데..

메세지맵을 이용하면 되는걸루 알고 있습니다..

메세지를 이용한 Mdi 바탕폼에 이미지 넣기에 대해서

알고 싶습니다..

어떻게 해야할지.. 도움 부탁드립니다..

1  COMMENTS
  • Profile
    구창민 1999.06.30 08:24
    왕초 께서 말씀하시기를...

    > Parent Mdi Form의 바탕에 이미지를 넣으려고 합니다..

    > 그냥 이미지 컴포넌트 넣고는 안되던데..

    > 메세지맵을 이용하면 되는걸루 알고 있습니다..

    > 메세지를 이용한 Mdi 바탕폼에 이미지 넣기에 대해서

    > 알고 싶습니다..

    > 어떻게 해야할지.. 도움 부탁드립니다..



    왕초님 안녕하세요?

    아래 내용은 뉴스그룹에 소개되었던 MDI메인 폼에

    이미지를 삽입하는 팁입니다.

    보시고 도움 되시길 바랍니다.



    1. 새로운 Project를 만든다.

    2. Form의 Style을 fsMDIForm로 한다.

    3. Form에 넣은 Bitmap을 정한다.

    4. Private 선언부에 아래내용을 선언한다.



    FClientInstance : TFarProc;

    FPrevClientProc : TFarProc;

    procedure ClientWndProc(var Message: TMessage);



    5. 아래의 procedure를 구현부에 넣는다.



    procedure TMainForm.ClientWndProc(var Message: TMessage);

    var

    Dc : hDC;

    Row : Integer;

    Col : Integer;

    begin

    with Message do

    case Msg of

    WM_ERASEBKGND:

    begin

    Dc := TWMEraseBkGnd(Message).Dc;

    for Row := 0 to ClientHeight div Image1.Picture.Height do

    for Col := 0 to ClientWidth div Image1.Picture.Width do

    BitBlt(Dc,

    Col * Image1.Picture.Width,

    Row * Image1.Picture.Height,

    Image1.Picture.Width,

    Image1.Picture.Height,

    Image1.Picture.Bitmap.Canvas.Handle,

    0,

    0,

    SRCCOPY);

    Result := 1;

    end;

    else

    Result := CallWindowProc(FPrevClientProc,

    ClientHandle,

    Msg,

    wParam,

    lParam);

    end;

    end;



    6. OnCreate Method를 아래와 같이 작성한다.



    FClientInstance := MakeObjectInstance(ClientWndProc);

    FPrevClientProc := Pointer(GetWindowLong(ClientHandle,

    GWL_WNDPROC));

    SetWindowLong(ClientHandle,

    GWL_WNDPROC, LongInt(FClientInstance));





    • 김선호
    • 1999.06.30 04:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.06.30 08:25
      김선호 께서 말씀하시기를... > 스트링 문자열에 '
    • 이승윤
    • 1999.06.30 02:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 궁금이
      1999.06.30 03:49
      이승윤 께서 말씀하시기를... > SQLServer7.0을 처음 사용합니다. > 서버에 설치된 TRANS라는 DB를 디스...
    • 왕초
    • 1999.06.30 02:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.06.30 08:24
      왕초 께서 말씀하시기를... > Parent Mdi Form의 바탕에 이미지를 넣으려고 합니다.. > 그냥 이미지 컴포...
    • 배선경
    • 1999.06.30 02:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.06.30 18:23
      배선경 께서 말씀하시기를... > 안녕하세요? > .. > 궁금한것이 있어요. > TWinControl의 SetFocus 프...
    • 송동일
    • 1999.06.30 02:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.06.30 08:53
      송동일 께서 말씀하시기를... > 안녕하세요? > > dbgrid에서 rowselect := true; > 로 해놓고... > d...
    • 손락환
    • 1999.06.30 00:41
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 정재홍
      1999.07.01 09:21
      손락환 께서 말씀하시기를... > project *.exe raised exception class EDatabaseError with message > '...
    • 이종국
      1999.06.30 01:04
      손락환 께서 말씀하시기를... > project *.exe raised exception class EDatabaseError with message > '...
    • Atom
    • 1999.06.30 00:41
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이동건
    • 1999.06.30 00:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조민경
      1999.06.30 01:02
      이동건 께서 말씀하시기를... > 안녕하세요.. > > NT4.0 서버를 사용하고 오라클 8.0.4를 사용합니다. ...
    • 이호선
    • 1999.06.30 00:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하남수
      1999.06.30 01:13
      안녕하세요 델피 4.0에 TNMFTP라는 컴포넌트가 있습니다. 프러퍼티 설정후 (IP, UserID/PassWord, etc.....
    • Atom
    • 1999.06.29 23:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김재휘
      1999.06.30 00:04
      Atom 께서 말씀하시기를... > mdb를 쿼리로 가져오는데 where절에 ... like '1%'하면 상관이 없는 > 레...
    • Atom
      1999.06.30 00:18
      김재휘 께서 말씀하시기를... > Atom 께서 말씀하시기를... > > mdb를 쿼리로 가져오는데 where절에 ... ...
    • 김재휘
      1999.06.30 02:18
      Atom 께서 말씀하시기를... > 김재휘 께서 말씀하시기를... > > Atom 께서 말씀하시기를... > > > mdb를...
    • 박성훈
    • 1999.06.29 22:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.06.29 22:29
      박성훈 께서 말씀하시기를... > 비주얼 컴포넌트를 TList에 넣고 싶습니다. 강좌란에서 list를 입력하...
    • 문승진
      1999.06.30 00:09
      김재휘 께서 말씀하시기를... > DBGrid에서 새로운 레코드를 Insert하려할 때 > 필수입력 필드를 입력하...
    • 이호선
    • 1999.06.29 21:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.06.29 21:54
      이호선 께서 말씀하시기를... > 안녕하세요 > ftp서버에 화일을 올리려하는데 방법을 알려주시면 감사하...
    • 문승진
    • 1999.06.29 21:18
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.29 21:38
      안녕하세요. 아래는 제가 간단히 테스트 해본것 입니다.(C++ Builder 4) ... ... TForm1 *Form1; /...
    • 문승진
      1999.06.29 22:21
      안치봉 께서 말씀하시기를... > 안녕하세요. 아래는 제가 간단히 테스트 해본것 입니다.(C++ Builder 4) ...
    • 하남수
      1999.06.29 20:56
      : void WINAPI _export Beep() { : } extern "c" int WINAPI _export Double(int n)...
    • 김희중
    • 1999.06.29 19:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이주흥
      1999.06.29 21:50
      김희중 께서 말씀하시기를... > 이제 델파이는 한달된 초보자입니다. > 근데 델파이는 프로젝트수준의 변...
    • 이현신
    • 1999.06.29 19:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 궁금이
      1999.06.29 20:08
      이현신 께서 말씀하시기를... > 델파이 4.0 메뉴에서 Project->Option -> Version Info 에서 > 실행 화...
    • 왕초
    • 1999.06.29 19:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.29 21:25
      델파이4를 사용하신다면 앵커속성을 사용해 보시죠. 왕초 께서 말씀하시기를... > 런타임에 폼의 크기...
    • 최석기
      1999.06.29 20:37
      왕초 께서 말씀하시기를... > 런타임에 폼의 크기를 조절하면 버튼의 위치는 제자리에 있습니다.. > 그래...