Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
주화면의 바탕에 그림입히기 ??
메인화면이 회색으로 되어 있어 밋밋하네요
그림을 입히는 방법을 알고십습니다.
웹브라우즈의 배경화면 처럼 조그마한 그림을 붙여도
반복적으로 전화면에 표시되어 화면이 확대되어도
문제없는 방법을 아시는 분은 도움을 부탁드립니다
참고서적이라도 추천부탁....
2
COMMENTS
redhead
•
1999.05.20 01:38
초보자 wrote:
>
> 메인화면이 회색으로 되어 있어 밋밋하네요
> 그림을 입히는 방법을 알고십습니다.
>
> 웹브라우즈의 배경화면 처럼 조그마한 그림을 붙여도
> 반복적으로 전화면에 표시되어 화면이 확대되어도
> 문제없는 방법을 아시는 분은 도움을 부탁드립니다
>
> 참고서적이라도 추천부탁....
unit untMain;
interface
uses
....
type
TfrmMain = class(TForm)
..중간생략...
private
{ Private declarations }
FClientInstance:TFarProc; <- 추가
FPrevClientProc:TFarProc; <- 추가
procedure ClientWndProc(Var Message:TMessage); <- 추가
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.DFM}
{ 아래 procedure 추가 }
procedure TfrmMain.ClientWndProc(Var Message:TMessage);
var
Mydc : hDC;
ro,co:Word;
begin
with Message do
case Msg of
WM_ERASEBKGND :
begin
MyDC := TWMEraseBKGND(Message).DC;
BitBlt(MyDC, 0, 0, frmMain.ClientWidth, frmMain.ClientHeight,
Image1.Picture.BitMap.Canvas.Handle, 0, 0, SRC
COPY);
Result := 1;
end;
else
Result := CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam
, lParam);
end;
end;
{ 아래 FormCreate이벤트에 추가 }
procedure TfrmMain.FormCreate(Sender: TObject);
begin
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
end;
end.
0
0
삭제
수정
댓글
초보자
•
1999.05.20 02:47
답장을 주셔서 감사드립니다.
헌데 아래의 코딩을 복사하여 실행을 시켰는데
에라는 나지않고 컴파일이 되었는데
그리고 그다음에는 아무런 변화가 없습니다.(T_T)
물론 아래의 코딩과 더불어 메임폼에 이미지는 하나가져다 두고
bmp그림을 올린 상태에서 테스트 런을 했습니다.
디버깅창에 procedure TfrmMain.ClientWndProc 에서
정의한 ro,co: Word; 변수가 사용이 안되었다고
나와 있느데 혹시 이때문인지 ....
한번더 부탁드립니다 /////
redhead wrote:
> 초보자 wrote:
> >
> > 메인화면이 회색으로 되어 있어 밋밋하네요
> > 그림을 입히는 방법을 알고십습니다.
> >
> > 웹브라우즈의 배경화면 처럼 조그마한 그림을 붙여도
> > 반복적으로 전화면에 표시되어 화면이 확대되어도
> > 문제없는 방법을 아시는 분은 도움을 부탁드립니다
> >
> > 참고서적이라도 추천부탁....
>
> unit untMain;
>
> interface
>
> uses
> ....
>
> type
> TfrmMain = class(TForm)
> ..중간생략...
>
> private
> { Private declarations }
> FClientInstance:TFarProc; <- 추가
> FPrevClientProc:TFarProc; <- 추가
> procedure ClientWndProc(Var Message:TMessage); <- 추가
> public
> { Public declarations }
> end;
>
> var
> frmMain: TfrmMain;
>
> implementation
>
> {$R *.DFM}
>
> { 아래 procedure 추가 }
> procedure TfrmMain.ClientWndProc(Var Message:TMessage);
> var
> Mydc : hDC;
> ro,co:Word;
> begin
> with Message do
> case Msg of
> WM_ERASEBKGND :
> begin
> MyDC := TWMEraseBKGND(Message).DC;
> BitBlt(MyDC, 0, 0, frmMain.ClientWidth, frmMain.ClientHeight,
> Image1.Picture.BitMap.Canvas.Handle, 0, 0, SRC
> COPY);
> Result := 1;
> end;
> else
> Result := CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam
> , lParam);
> end;
> end;
>
> { 아래 FormCreate이벤트에 추가 }
> procedure TfrmMain.FormCreate(Sender: TObject);
> begin
> FClientInstance := MakeObjectInstance(ClientWndProc);
> FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
> SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
> end;
>
> end.
>
>
>
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김지연
•
1999.05.19 19:10
2
COMMENTS
/
0
LIKES
Delphi에서 Record 사용방법??
이정욱
•
1999.05.19 22:29
아래의 문제가 아닌것 같네요. 분명 끝나면서 하는일에 생성되지 않은 콘트롤을 사용하려고 하는것 같습니...
안치봉
•
1999.05.19 20:36
김지연 wrote: > 데이타를 구조화해서 자료를 집어넣을려고 아래와 같이 코딩을 했습니다.. > > > ty...
sun
1999.05.19 18:55
0
COMMENTS
/
0
LIKES
ocx가 등록이 안되는디요
김하정
•
1999.05.19 18:32
2
COMMENTS
/
0
LIKES
MDIChild폼에서 팝업화면을 항상 띄우고 작업할려면
안치봉
•
1999.05.20 00:19
김하정 wrote: > 안녕하세요... > 제가 어제 안치봉씨께 다시 소스를 보냈는데 > Q&A에 올리라는 걸 깜...
안치봉
•
1999.05.19 21:06
김하정 wrote: > 안녕하세요... > 제가 어제 안치봉씨께 다시 소스를 보냈는데 > Q&A에 올리라는 걸 깜...
북해
1999.05.19 18:22
0
COMMENTS
/
0
LIKES
(왕초보)삭제되지 않는 레코드...
조창범
1999.05.19 18:19
0
COMMENTS
/
0
LIKES
초보적인질문...코드의 일련번호...
지종진
•
1999.05.19 16:51
1
COMMENTS
/
0
LIKES
Delphi 3와 Delphi 4의 호환성 문제
이정욱
•
1999.05.19 22:26
아무래도 BDE의 버전 문제 같군요. BDE만 최신으로 설치해 보세요. BDE는 개발환경과 사용환경이 같은 버...
강지영
•
1999.05.19 05:54
4
COMMENTS
/
0
LIKES
loop문으로 수정된 데이타를 ApplyUpdates 하는데
하윤철
•
1999.05.19 17:33
강지영 wrote: > loop로 처리하였을때 Update Failed라는 에러가 발생합니다. > > with Query1 do > b...
한
•
1999.05.19 10:06
강지영 wrote: > 안녕하세요. 또 지영이 입니다. > Tdatabase의 ApplyUpdates메소드를 사용하다가 문제에...
강지영
•
1999.05.19 15:23
한 wrote: > 강지영 wrote: > > 안녕하세요. 또 지영이 입니다. > > Tdatabase의 ApplyUpdates메소드를 ...
한
•
1999.05.20 01:49
강지영 wrote: > 한 wrote: > > 강지영 wrote: > > > 안녕하세요. 또 지영이 입니다. > > > Tdatabase...
김영주
•
1999.05.19 04:52
2
COMMENTS
/
0
LIKES
Screen Saver 실행
안치봉
•
1999.05.19 21:15
김영주 wrote: > 계속 Screen Saver에 대한 질문이군요. > > explorer에서 보면 '화면보호기 연결프...
김영주
•
1999.05.21 18:53
Hi. > 이 게시판에서 ShellExecute 나 WinExe 로 검색을 해보시기 바랍니다. > 아니면 Win32 API 도...
왕초보
1999.05.19 04:06
0
COMMENTS
/
0
LIKES
[긴급SOS]DLL 에서 Mdi Child Form생성시 문제점?
강경중
•
1999.05.19 04:00
1
COMMENTS
/
0
LIKES
TabOrder
이정욱
•
1999.05.19 04:39
Label은 죽어도 포커스를 가지지 못합니다. 강경중 wrote: > 도와 주세요 > 폼의 여러 콤포넌트 중 실...
강경중
•
1999.05.19 03:53
1
COMMENTS
/
0
LIKES
콤보박스...
이정욱
•
1999.05.19 04:01
저장을 하셔야 합니다. ComboBox1.Items.SaveToFile 로 저장하시고 시작될때는 ComboBox1.Items.Loa...
왕초보
1999.05.19 02:55
0
COMMENTS
/
0
LIKES
현재 실행중인 dll list구하는 방법?
신규찬
•
1999.05.19 02:32
1
COMMENTS
/
0
LIKES
maskedit에서 한글입력문제
전철호
•
1999.05.19 19:53
신규찬 wrote: > maskedit에서 한글을 입력하면 에러가 발생합니다. > 어떻게 처리하면 되는지 아시는분 ...
오기주
•
1999.05.19 02:31
1
COMMENTS
/
0
LIKES
Query 에서 Sum 조건 주기
하윤철
•
1999.05.19 03:22
오기주 wrote: > 계산 항목을 가로로 나오게 할수 없는지요?? > 조건을 개별적으로 줄수 있는 방법이 없...
초보자
•
1999.05.19 02:15
2
COMMENTS
/
0
LIKES
주화면의 바탕에 그림입히기 ??
메인화면이 회색으로 되어 있어 밋밋하네요 그림을 입히는 방법을 알고십습니다. 웹브라우즈의 배경화면 처럼 조그마한 그림을 붙여도 반복적으로 전화면에 표시되어 화면이 확대되어도 문제없는 방법을 아시는 분은 도움을 부탁드립니다 ...
redhead
•
1999.05.20 01:38
초보자 wrote: > > 메인화면이 회색으로 되어 있어 밋밋하네요 > 그림을 입히는 방법을 알고십습니다. ...
초보자
•
1999.05.20 02:47
답장을 주셔서 감사드립니다. 헌데 아래의 코딩을 복사하여 실행을 시켰는데 에라는 나지않고 컴파일이 ...
마성수
•
1999.05.19 00:45
1
COMMENTS
/
0
LIKES
MDI Child 폼에서 일반 폼을 CREAT....
redhead
•
1999.05.19 01:01
마성수 wrote: > 정말 이상한 일입니다. > MDI Child 폼에서 일반 폼을 CREAT할려고 했는데.. > 버튼을 ...
이현신
1999.05.19 00:37
0
COMMENTS
/
0
LIKES
컴파일시 환경정보 변수는??__DATA__ 같은.
윤상필
1999.05.19 00:35
0
COMMENTS
/
0
LIKES
SendMail
왕초보
•
1999.05.19 00:00
1
COMMENTS
/
0
LIKES
MDI Child window 찾는 방법?
redhead
•
1999.05.19 01:04
왕초보 wrote: > 주 프로그램에서 DLL안에 있는 윈도우를 MDI Child로 설정하여 > 윈도우를 뛰운다음......
안종필
•
1999.05.18 23:05
1
COMMENTS
/
0
LIKES
선그리기에 대해..(급함)
이정욱
•
1999.05.19 03:58
폰트를 굴림체로 맞추고 해보세요. 넓이가 일정한 폰트를 사용해야 합니다. Fixed Pitch 폰트라고 합니다...
초보자
1999/05/19 02:15
Views
286
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
>
> 메인화면이 회색으로 되어 있어 밋밋하네요
> 그림을 입히는 방법을 알고십습니다.
>
> 웹브라우즈의 배경화면 처럼 조그마한 그림을 붙여도
> 반복적으로 전화면에 표시되어 화면이 확대되어도
> 문제없는 방법을 아시는 분은 도움을 부탁드립니다
>
> 참고서적이라도 추천부탁....
unit untMain;
interface
uses
....
type
TfrmMain = class(TForm)
..중간생략...
private
{ Private declarations }
FClientInstance:TFarProc; <- 추가
FPrevClientProc:TFarProc; <- 추가
procedure ClientWndProc(Var Message:TMessage); <- 추가
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.DFM}
{ 아래 procedure 추가 }
procedure TfrmMain.ClientWndProc(Var Message:TMessage);
var
Mydc : hDC;
ro,co:Word;
begin
with Message do
case Msg of
WM_ERASEBKGND :
begin
MyDC := TWMEraseBKGND(Message).DC;
BitBlt(MyDC, 0, 0, frmMain.ClientWidth, frmMain.ClientHeight,
Image1.Picture.BitMap.Canvas.Handle, 0, 0, SRC
COPY);
Result := 1;
end;
else
Result := CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam
, lParam);
end;
end;
{ 아래 FormCreate이벤트에 추가 }
procedure TfrmMain.FormCreate(Sender: TObject);
begin
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
end;
end.