|
팁에 있는 것을 실행해 보았는데요..
mdi폼에 이미지가 보이는것이 아니라 배경화면이 로드되더라구요..
__fastcall TMainForm::TMainForm(TComponent *Owner)
: TForm(Owner)
{
MdiInstance = MakeObjectInstance(MdiWndProc);
OldMdiWindowProc = (void *)(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, (LONG)(MdiInstance));
}
// 임의로 새로 만든 함수입니다.
void __fastcall TMainForm::MdiWndProc(TMessage &Message)
//---------------------------------------------------------------------------
{
if (Message.Msg == WM_ERASEBKGND){
Message.Result = 0;
HDC DC = (HDC)Message.WParam;
StretchBlt(DC, 0, 0, Width, Height,
Image1->Canvas->Handle, 0, 0,
Image1->Picture->Bitmap->Width,
Image1->Picture->Bitmap->Height,
SRCCOPY);
}
else Message.Result = CallWindowProc((FARPROC)OldMdiWindowProc,
ClientHandle, Message.Msg,
Message.WParam, Message.LParam);
}
잘못된 부분이 어디인지요?
|