Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
MDI FORM의 배경화면 선택하기??????
MDI FORM의 배경그림을 넣고 실행후
IMAGE의 그림을 변경하면 그림이 바로 바뀌지 않고
최소화시킨후에 다시보면 바뀌는 군요.
IMAGE의 그림을 바꾸는 순간에 배경그림을 바꾼그림으로
보이게 하려면 어떻게 하면 되는지요?????
3
COMMENTS
nilriri
•
2000.05.10 23:43
repaint라는 이벤트를 사용하시면 될것같습니다.
이병협 wrote:
> MDI FORM의 배경그림을 넣고 실행후
> IMAGE의 그림을 변경하면 그림이 바로 바뀌지 않고
> 최소화시킨후에 다시보면 바뀌는 군요.
>
>
> IMAGE의 그림을 바꾸는 순간에 배경그림을 바꾼그림으로
> 보이게 하려면 어떻게 하면 되는지요?????
0
0
삭제
수정
댓글
이병협
•
2000.05.11 01:00
이미 해보았지만 되지 않더군요
mdiform의 client영역에 repaint라는 이벤트가 발생하지 않는것 같아요
nilriri wrote:
> repaint라는 이벤트를 사용하시면 될것같습니다.
>
>
> 이병협 wrote:
> > MDI FORM의 배경그림을 넣고 실행후
> > IMAGE의 그림을 변경하면 그림이 바로 바뀌지 않고
> > 최소화시킨후에 다시보면 바뀌는 군요.
> >
> >
> > IMAGE의 그림을 바꾸는 순간에 배경그림을 바꾼그림으로
> > 보이게 하려면 어떻게 하면 되는지요?????
0
0
삭제
수정
댓글
김일영
•
2000.05.11 07:05
MDIForm의 Client 영역은 원래 WinControl의 형태로 잡혀 있질 않습니다.
그래서 제어를 하려면, SetWindowLong을 써서 MDIForm.ClientHandle의
윈도우 프로시저를 바꿔서 해야 합니다.
제가 비슷한걸 해봤습니다. 참조하시죠.
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Paint: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure PaintClick(Sender: TObject);
private
{ Private declarations }
FbTextShow: Boolean;
FPOldWndProc: Pointer;
FPNewWndProc: Pointer;
procedure NewWndProc(var Msg: TMessage);
public
{ Public declarations }
end;
procedure TForm1.NewWndProc(var Msg: TMessage);
var
ClientDC: HDC;
ps: PAINTSTRUCT;
begin
case Msg.Msg of
WM_PAINT: begin
if FbTextShow then begin
ClientDC := BeginPaint(ClientHandle, ps);
Windows.TextOut(ClientDC, 50, 50, PChar('Test!'), 5);
EndPaint(ClientHandle, ps);
end;
end;
end;
with Msg do begin
Result := CallWindowProc(FPOldWndProc, ClientHandle, Msg, wParam, lParam);
end; // 원래의 윈도우 프로시져를 호출해준다.
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FbTextShow := False;
FPNewWndProc := MakeObjectInstance(NewWndProc);
FPOldWndProc := Pointer(SetWindowLong(ClientHandle, GWL_WNDPROC,
Longint(FPNewWndProc)));
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SetWindowLong(ClientHandle, GWL_WNDPROC, Longint(FPOldWndProc));
FreeObjectInstance(FPNewWndProc);
end;
procedure TForm1.PaintClick(Sender: TObject);
var
Rect: TRect;
begin
FbTextShow := not FbTextShow;
Windows.GetClientRect(ClientHandle, Rect);
InvalidateRect(ClientHandle, @Rect, True);
SendMessage(ClientHandle, WM_PAINT, 0, 0);
end;
잘 되길 바랍니다.
==========================================================================
이병협 wrote:
> 이미 해보았지만 되지 않더군요
>
> mdiform의 client영역에 repaint라는 이벤트가 발생하지 않는것 같아요
>
>
> nilriri wrote:
> > repaint라는 이벤트를 사용하시면 될것같습니다.
> >
> >
> > 이병협 wrote:
> > > MDI FORM의 배경그림을 넣고 실행후
> > > IMAGE의 그림을 변경하면 그림이 바로 바뀌지 않고
> > > 최소화시킨후에 다시보면 바뀌는 군요.
> > >
> > >
> > > IMAGE의 그림을 바꾸는 순간에 배경그림을 바꾼그림으로
> > > 보이게 하려면 어떻게 하면 되는지요?????
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
어린왕자
•
2000.05.10 22:40
1
COMMENTS
/
0
LIKES
[급] 스트링그리드 한꺼번에 지우는 방법? 순환문을 돌려야 하나요?
조복기
•
2000.05.10 22:51
어린왕자 wrote: > 안녕하세요..급한데.. > 스트링그리드내용을 전부 지우는 메소드 있나요? > 꼭 for문...
서영환
2000.05.10 22:35
0
COMMENTS
/
0
LIKES
Re: activeX form이 자동으로 갱신이 안되여... 흑흑.
kciron
2000.05.10 21:40
0
COMMENTS
/
0
LIKES
ASP 프로그램에 대해....
이수정
•
2000.05.10 21:29
2
COMMENTS
/
0
LIKES
Tab Key 의 코드값이 27인가요??
이경원
•
2000.05.10 22:09
> 키보드값입니다.. > > Symbloic name Value(in hex) Mouse or keyboard equivalent > ...
최석기
•
2000.05.10 21:33
이수정 wrote: > 안녕하세요... > > Enter 키는 13 이지 않습니까?? > > Tab 키의 키값은 무엇인가...
이병협
•
2000.05.10 20:56
3
COMMENTS
/
0
LIKES
MDI FORM의 배경화면 선택하기??????
MDI FORM의 배경그림을 넣고 실행후 IMAGE의 그림을 변경하면 그림이 바로 바뀌지 않고 최소화시킨후에 다시보면 바뀌는 군요. IMAGE의 그림을 바꾸는 순간에 배경그림을 바꾼그림으로 보이게 하려면 어떻게 하면 되는지요?????
nilriri
•
2000.05.10 23:43
repaint라는 이벤트를 사용하시면 될것같습니다. 이병협 wrote: > MDI FORM의 배경그림을 넣고 실행...
이병협
•
2000.05.11 01:00
이미 해보았지만 되지 않더군요 mdiform의 client영역에 repaint라는 이벤트가 발생하지 않는것 같아요 ...
김일영
•
2000.05.11 07:05
MDIForm의 Client 영역은 원래 WinControl의 형태로 잡혀 있질 않습니다. 그래서 제어를 하려면, SetWindo...
이인규
2000.05.10 20:38
0
COMMENTS
/
0
LIKES
Thread Error 에 대해 가르쳐 주세요.
박상윤
2000.05.10 20:26
0
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
하늘맥
2000.05.10 19:44
0
COMMENTS
/
0
LIKES
어떤에러인지 봐 주세요..
이경원
•
2000.05.10 19:36
2
COMMENTS
/
0
LIKES
TabKey ----->EnterKey 변환....그리고
cos
•
2000.05.10 19:51
> 패널사이로 tab키 대신에 enter키로 포커스 이동시킬수 있는지요..잘 안되더라구요.. > 정확히 말하...
이경원
•
2000.05.10 20:51
cos wrote: > > > 패널사이로 tab키 대신에 enter키로 포커스 이동시킬수 있는지요..잘 안되더라구요.....
young
•
2000.05.10 19:41
3
COMMENTS
/
0
LIKES
//질문// qrlabel 동적생성시 name은???
강경중
•
2000.06.09 19:59
young wrote: > 퀵 리포트위에 qrlabel을 필드 갯수 만큼 생성하고... > 쿼리해온 각 값들을 뿌려줄려구 ...
강경중
•
2000.06.09 19:59
young wrote: > 퀵 리포트위에 qrlabel을 필드 갯수 만큼 생성하고... > 쿼리해온 각 값들을 뿌려줄려구 ...
cos
•
2000.05.10 19:37
young wrote: > 퀵 리포트위에 qrlabel을 필드 갯수 만큼 생성하고... > 쿼리해온 각 값들을 뿌려줄려구 ...
못난이2
•
2000.05.10 18:38
1
COMMENTS
/
0
LIKES
자식폼을 열 때 부모폼 사라지게 하기
김일영
•
2000.05.11 05:46
독립적인 화일로 존재할 경우에는 부모폼(?)에서 자식폼(?)을 WinExec()로 불러서 올리고 자신은 Hide 또...
못난이
2000.05.10 18:27
0
COMMENTS
/
0
LIKES
조건을 만족하는 20개의 레코드 업데이트하기
박설화
2000.05.10 18:18
0
COMMENTS
/
0
LIKES
printdialogs 로는 프린터 출력이 안되는 건지?
이선우
2000.05.10 23:06
0
COMMENTS
/
0
LIKES
DB Table생성등과 같은 동작 진행상태를 표현하고 싶은데...급해요!!!
castle road
2000.05.10 10:27
0
COMMENTS
/
0
LIKES
windows socket error: (10049), on API 'connect'
바버ㅠ.ㅠ
•
2000.05.10 10:17
2
COMMENTS
/
0
LIKES
winexec를 이요해서..
최용일
•
2000.05.10 10:33
안녕하세요. 최용일입니다. WinExec를 이용해서 실행되는 파일이 d:text에 결과를 출력하도록 코딩된것 ...
바버ㅠ.ㅠ
•
2000.05.10 10:38
학~ 돼네여 ㅠ.ㅠ 이럴뚜가.. ㅠ.ㅠ 이런 실수를 범하다뉘 ㅠ.ㅠ 고마워여 용일님~~~ 최용일 wrote: ...
황현동
2000.05.10 08:20
0
COMMENTS
/
0
LIKES
다른 프로그램에서 눌러진 키를 알고싶은데..
박준용
•
2000.05.10 08:17
1
COMMENTS
/
0
LIKES
책방관리 프로그램 짜려면......????
조복기
•
2000.05.10 23:03
박준용 wrote: > 학교에서 프로그램을 짜라고 해서요. > > 책방관리하는 프로그램을 할려구요. > > ...
bk0010
2000.05.10 07:08
0
COMMENTS
/
0
LIKES
WebBrowser를 사용 해서 activeX form으로 만들고 ..delete키 문제
최상열
•
2000.05.10 06:41
1
COMMENTS
/
0
LIKES
일반적인 서버,클라이언트 소켓 통신에 대한 ...
조규춘
•
2000.05.10 13:01
최상열 wrote: > 일반적인 서버, 클라이언트 소켓 통신에 대한 프로그램 소스를 > 구할 수 있는 곳이 어...
이병협
2000/05/10 20:56
Views
263
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
이병협 wrote:
> MDI FORM의 배경그림을 넣고 실행후
> IMAGE의 그림을 변경하면 그림이 바로 바뀌지 않고
> 최소화시킨후에 다시보면 바뀌는 군요.
>
>
> IMAGE의 그림을 바꾸는 순간에 배경그림을 바꾼그림으로
> 보이게 하려면 어떻게 하면 되는지요?????