在CB中进行DirectX编程(4)
作者 佚名技术
来源 程序设计
浏览
发布时间 2012-06-30
Text+"Get DC of OffScreen Screen Surface Failed."+(String)CR; else { Memo1->Lines->Text=Memo1->Lines->Text+"Get DC of OffScreen Screen Surface OK."+(String)CR; if(BitBlt(hdc,0,0,100,100,hdcImage,0,0,SRCCOPY)==FALSE) Memo1->Lines->Text=Memo1->Lines->Text+"OffScreen Screen BitBlt Failed."+(String)CR; else { Memo1->Lines->Text=Memo1->Lines->Text+"OffScreen Screen BitBlt OK."+(String)CR; Button4->Enabled=false; Button5->Enabled=true; } lpDDOffScreen->ReleaseDC(hdc); } if(hdcImage) DeleteDC(hdcImage); if(hbm) DeleteObject(hbm); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button5Click(TObject *Sender) { HDC hdc,hdcImage; HBITMAP hbm; hbm=(HBITMAP)LoadImage(NULL,"view.bmp",IMAGE_BITMAP,200,100,LR_LOADFROMFILE|LR_CREATEDIBSECTION); hdcImage=CreateCompatibleDC(NULL); SelectObject(hdcImage,hbm); if(FAILED(lpDDPrimary->GetDC(&hdc))) Memo1->Lines->Text=Memo1->Lines->Text+"Get DC of Primary Screen Surface Failed."+(String)CR; else { Memo1->Lines->Text=Memo1->Lines->Text+"Get DC of Primary Screen Surface OK."+(String)CR; if(BitBlt(hdc,0,0,200,100,hdcImage,0,0,SRCCOPY)==FALSE) Memo1->Lines->Text= Memo1->Lines->Text+"Primary Screen BitBlt Failed."+(String)CR; else { Memo1->Lines->Text=Memo1->Lines->Text+"Primary Screen BitBlt OK."+(String)CR; Button5->Enabled=false; Button6->Enabled=true; } lpDDPrimary->ReleaseDC(hdc); } if(hdcImage) DeleteDC(hdcImage); if(hbm) DeleteObject(hbm); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button6Click(TObject *Sender) { HDC hdcPrimary,hdcOffScreen; lpDDPrimary->GetDC(&hdcPrimary); lpDDOffScreen->GetDC(&hdcOffScreen); BitBlt(hdcPrimary,200,0,100,100,hdcOffScreen,0,0,SRCCOPY); lpDDPrimary->ReleaseDC(hdcPrimary); lpDDOffScreen->ReleaseDC(hdcOffScreen); Memo1->Lines->Text=Memo1->Lines->Text+"OffScreen To Primary OK."+(String)CR; Button6->Enabled=false; Button7->Enabled=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button7Click(TObject *Sender) { lpDD2->SetDisplayMode(640,480,16,0,0); if(lpDDPrimary->IsLost()==DDERR_SURFACELOST&&lpDDOffScreen->IsLost()==DDERR_SURFACELOST) Memo1->Lines->Text=Memo1->Lines->Text+"Surfaces are Lost."+(String)CR; else Memo1->Lines->Text=Memo1->Lines->Text+"Surfaces remain."+(String)CR; Button7->Enabled=false; Button8->Enabled=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button8Click(TObject *Sender) { lpDD2->SetDisplayMode(800,600,16,0,0); lpDDPrimary->Restore(); lpDDOffScreen->Restore(); Memo1->Lines->Text=Memo1->Lines->Text+" |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 如何在C++Builder中使用全局变量下一篇: BCB中实现动态创建组件
关于在CB中进行DirectX编程(4)的所有评论