您现在的位置: 中国教师站 >> 教师关注 >> 电脑技术 >> 编程技术 >> Delphi >> 正文

Google
NeHe的opengl教程delphi版(1)----基本框架
作者:Siny 文章来源:中国教师站cn-teacher 点击数: 更新时间:2007-4-22 15:51:28
nbsp;   //其余的让Windows自行处理。
         Result := DefWindowProc(hWnd, Msg, wParam, lParam);  //向DefWindowProc传递所有未处理的消息。
   End;
End;
//==============================================================================
// 只在程序退出之前调用。作用是依次释放着色描述表,设备描述表和窗口句柄。
// 加入了许多错误检查。如果程序无法销毁窗口的任意部分,都会弹出带相应错误消息的
// 讯息窗口,
//==============================================================================

Procedure glKillWnd(Fullscreen: Boolean);
Begin

   //在KillGLWindow()中所作的第一件事是检查是否处于全屏模式。
   //如果是,要切换回桌面。本应在禁用全屏模式前先销毁窗口,
   //但在某些显卡上这么做可能会使得桌面崩溃。所以还是先禁用全屏模式。
   //这将防止桌面出现崩溃,并在Nvidia和3dfx显卡上都工作的很好!

   If Fullscreen Then                   // 处于全屏模式吗?
      Begin
         //  使用ChangeDisplaySettings(NULL,0)回到原始桌面。
         //  将NULL作为第一个参数,
         //  0作为第二个参数传递强制Windows使用当前存放在注册表中的值
         //  (缺省的分辨率、色彩深度、刷新频率,等等)来有效的恢复我原始桌面。
         //  换回桌面后,还要使得鼠标指针重新可见。

         ChangeDisplaySettings(devmode(Nil^), 0); // 是的话,切换回桌面
         ShowCursor(True);              //显示鼠标
      End;

   //是否拥有着色描述表(hRC)。
   If h_RC > 0 Then
      //看我们能否释放它(将 hRC从hDC分开)。
      If (Not wglMakeCurrent(h_DC, 0)) Then
         MessageBox(0, 'DC和RC无法被释放!', '错误', MB_OK Or
            MB_ICONERROR);

   // 能否删除着色描述表
   If (Not wglDeleteContext(h_RC)) Then
      Begin
         MessageBox(0, '删除着色描述表失败!', '错误', MB_OK Or
            MB_ICONERROR);
         h_RC := 0;
      End;

   //是否存在设备描述表,如果有尝试释放它。
   If ((h_DC > 0) And (ReleaseDC(h_Wnd, h_DC) = 0)) Then
      Begin
         MessageBox(0, '释放设备描述表失败!', '错误', MB_OK Or
            MB_ICONERROR);
         h_DC := 0;
      End;

   //是否存在窗口句柄,调用 DestroyWindow( hWnd )来尝试销毁窗口
   If ((h_Wnd <> 0) And (Not DestroyWindow(h_Wnd))) Then
      Begin
         MessageBox(0, '无法销毁窗体!', '错误', MB_OK Or
            MB_ICONERROR);
         h_Wnd := 0;
      End;

   // 注销窗口类
   //这允许我们正常销毁窗口,接着在打开其他窗口时,
   //不会收到诸如"Windows Class already registered"(窗口类已

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

相关专题:
 
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
GOOGLE广告

阅读排行

| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
中国教师站

中国教师站 版权所有 Copyright © 2006-2020 All Rights Reserved 站长:Sina & Siny
[备用域名:www.JXZYW.Com] 有事请留言有事请留言
【实力成就精品 诚信呵护品牌】

信息产业部备案
苏ICP备06018635号