Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
부모 MdiForm의 바탕에 이미지 넣기
Parent Mdi Form의 바탕에 이미지를 넣으려고 합니다..
그냥 이미지 컴포넌트 넣고는 안되던데..
메세지맵을 이용하면 되는걸루 알고 있습니다..
메세지를 이용한 Mdi 바탕폼에 이미지 넣기에 대해서
알고 싶습니다..
어떻게 해야할지.. 도움 부탁드립니다..
1
COMMENTS
구창민
•
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));
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김선호
•
1999.06.30 04:14
1
COMMENTS
/
0
LIKES
string문자열...
구창민
•
1999.06.30 08:25
김선호 께서 말씀하시기를... > 스트링 문자열에 '
이승윤
•
1999.06.30 02:40
1
COMMENTS
/
0
LIKES
MSSQL DB를 다른 컴퓨터로 복사하는 방법
궁금이
•
1999.06.30 03:49
이승윤 께서 말씀하시기를... > SQLServer7.0을 처음 사용합니다. > 서버에 설치된 TRANS라는 DB를 디스...
왕초
•
1999.06.30 02:39
1
COMMENTS
/
0
LIKES
부모 MdiForm의 바탕에 이미지 넣기
Parent Mdi Form의 바탕에 이미지를 넣으려고 합니다.. 그냥 이미지 컴포넌트 넣고는 안되던데.. 메세지맵을 이용하면 되는걸루 알고 있습니다.. 메세지를 이용한 Mdi 바탕폼에 이미지 넣기에 대해서 알고 싶습니다.. 어떻게 해야할지.. ...
구창민
•
1999.06.30 08:24
왕초 께서 말씀하시기를... > Parent Mdi Form의 바탕에 이미지를 넣으려고 합니다.. > 그냥 이미지 컴포...
배선경
•
1999.06.30 02:32
1
COMMENTS
/
0
LIKES
TControl과 TWinControl
전철호
•
1999.06.30 18:23
배선경 께서 말씀하시기를... > 안녕하세요? > .. > 궁금한것이 있어요. > TWinControl의 SetFocus 프...
송동일
•
1999.06.30 02:28
1
COMMENTS
/
0
LIKES
dbgrid에서...
구창민
•
1999.06.30 08:53
송동일 께서 말씀하시기를... > 안녕하세요? > > dbgrid에서 rowselect := true; > 로 해놓고... > d...
변상준
1999.06.30 02:27
0
COMMENTS
/
0
LIKES
Help Me !!
권창진
1999.06.30 02:00
0
COMMENTS
/
0
LIKES
Metafile is not valid 어떻게 해결하나요?
손락환
•
1999.06.30 00:41
2
COMMENTS
/
0
LIKES
Error 처리
정재홍
•
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
SQL문에서 where...like...결과가이상
이동건
•
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
ftp서버에 화일을 올리려면...
하남수
•
1999.06.30 01:13
안녕하세요 델피 4.0에 TNMFTP라는 컴포넌트가 있습니다. 프러퍼티 설정후 (IP, UserID/PassWord, etc.....
Atom
•
1999.06.29 23:45
3
COMMENTS
/
0
LIKES
SQL문에서 where...like...결과가이상
김재휘
•
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
컴포넌트를 TList에 넣으려면...
강지영
•
1999.06.29 22:29
박성훈 께서 말씀하시기를... > 비주얼 컴포넌트를 TList에 넣고 싶습니다. 강좌란에서 list를 입력하...
김재휘
•
1999.06.29 21:47
1
COMMENTS
/
0
LIKES
dbgrid에서 레코드 insert때 필수입력에러 핸들링방법?
문승진
•
1999.06.30 00:09
김재휘 께서 말씀하시기를... > DBGrid에서 새로운 레코드를 Insert하려할 때 > 필수입력 필드를 입력하...
이호선
•
1999.06.29 21:26
1
COMMENTS
/
0
LIKES
ftp서버에 화일을 올리려면...
강지영
•
1999.06.29 21:54
이호선 께서 말씀하시기를... > 안녕하세요 > ftp서버에 화일을 올리려하는데 방법을 알려주시면 감사하...
문승진
•
1999.06.29 21:18
2
COMMENTS
/
0
LIKES
TreeNode에서 Data를 delete하는 문제
안치봉
•
1999.06.29 21:38
안녕하세요. 아래는 제가 간단히 테스트 해본것 입니다.(C++ Builder 4) ... ... TForm1 *Form1; /...
문승진
•
1999.06.29 22:21
안치봉 께서 말씀하시기를... > 안녕하세요. 아래는 제가 간단히 테스트 해본것 입니다.(C++ Builder 4) ...
나희정
•
1999.06.29 20:29
1
COMMENTS
/
0
LIKES
c++ dll을 delphi에서 사용하는 방법을 알려주세요
하남수
•
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
Dll에서 변수의 영역
이주흥
•
1999.06.29 21:50
김희중 께서 말씀하시기를... > 이제 델파이는 한달된 초보자입니다. > 근데 델파이는 프로젝트수준의 변...
이현신
•
1999.06.29 19:25
1
COMMENTS
/
0
LIKES
version 이 자동으로 증가되지 않는데요...
궁금이
•
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
왕초 께서 말씀하시기를... > 런타임에 폼의 크기를 조절하면 버튼의 위치는 제자리에 있습니다.. > 그래...
왕초
1999/06/30 02:39
Views
303
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 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));