?? displaymode.htm
字號:
FACE="Arial" SIZE="3">DirectDraw</font>參考手冊”中的“像素格式掩碼”。</p>
<p ALIGN="JUSTIFY">顯示模式可以由多于一個的應用程序改變,只要它們共享同一塊顯卡。只有當應用程序擁有對<font
FACE="Arial" SIZE="3">DirectDraw</font>對象獨占的訪問,你才可以改變顯示模式的位深度。當顯示模式被改變的時候,所有的<font
FACE="Arial" SIZE="3">DirectDrawSurface</font>對象將丟失它們的頁面內存,并且對任何操作不起反應。這時,一個頁面的內存必須被重新分配,調用<font
FACE="Arial" SIZE="3">IDirectDrawSurface3::Restore</font>函數。</p>
<p ALIGN="JUSTIFY">必須重聲的是:<font FACE="Arial" SIZE="3">DirectDraw</font>的獨占模式并不阻止其它的應用程序分配<font
FACE="Arial" SIZE="3">DirectDrawSurface</font>對象,也不阻止它們使用<font
FACE="Arial" SIZE="3">DirectDraw</font>或<font FACE="Arial" SIZE="3">GDI</font>的函數特性。但是,它確實阻止了其它的應用程序對顯示模式或調色板的訪問。</p>
<hr>
<b><font FACE="黑體"><p></font><a name="還原顯示模式">還原顯示模式</a><font
FACE="黑體"></p>
</font></b><font SIZE="3"><p align="right"><a href="#目錄"><font face="宋體">返回目錄</font></a></p>
</font><p ALIGN="JUSTIFY">在應用程序結束的時候,你可以明確的調用<font
FACE="Arial" SIZE="3">IDirectDraw2::RestoreDisplayMode</font>函數,使顯示器還原到原始的顯示模式。如果你使用的是<font
FACE="Arial" SIZE="3">IDirectDraw2::SetDisplayMode</font>函數來改變顯示模式,并且應用程序具有獨占的控制級,那么,當重新設置控制級為普通時,原始的顯示模式會自動還原。如果你使用的是<font
FACE="Arial" SIZE="3">IDirectDraw::SetDisplayMode</font>函數,那么你必須明確的調用<font
FACE="Arial" SIZE="3">RestoreDisplayMode</font>以還原顯示模式。</p>
<hr>
<b><font FACE="Arial"><p></font><a name="ModeX與Mode 13顯示模式">ModeX與Mode 13顯示模式</a><font
FACE="黑體"></p>
</font></b><font SIZE="3"><p align="right"><a href="#目錄"><font face="宋體">返回目錄</font></a></p>
</font><font FACE="Arial" SIZE="3"><p ALIGN="JUSTIFY">DirectDraw</font>同時支持<font
FACE="Arial" SIZE="3">Mode 13</font>和<font FACE="Arial" SIZE="3">Mode X</font>顯示模式。<font
FACE="Arial" SIZE="3">Mode 13</font>是一種線性不可換頁的<font FACE="Arial"
SIZE="3">320x200x8</font>的基于調色板的顯示模式,因為它的<font
FACE="Arial" SIZE="3">16</font>進制<font FACE="Arial" SIZE="3">BIOS</font>模式編號是<font
FACE="Arial" SIZE="3">13</font>,而被廣泛的稱之為<font FACE="Arial" SIZE="3">Mode
13</font>模式。要得到更多關于它的資料,請參閱“<font FACE="Arial"
SIZE="3">Mode 13</font>的支持”。<font FACE="Arial" SIZE="3">Mode X</font>是從標準的<font
FACE="Arial" SIZE="3">VGA Mode 13</font>模式演化而來的。通過使用<font
FACE="Arial" SIZE="3">VGA</font>顯示適配器的<font FACE="Arial" SIZE="3">EGA</font>多圖象平面系統,它允許開發者使用最多可達<font
FACE="Arial" SIZE="3">256K</font>字節的視頻<font FACE="Arial" SIZE="3">RAM</font>(而<font
FACE="Arial" SIZE="3">Mode 13</font>僅為<font FACE="Arial" SIZE="3">64K</font>)。</p>
<p ALIGN="JUSTIFY">在<font FACE="Arial" SIZE="3">Windows 95</font>系統上,<font
FACE="Arial" SIZE="3">DirectDraw</font>為所有的顯示卡提供了兩種<font
FACE="Arial" SIZE="3">Mode X</font>模式:<font FACE="Arial" SIZE="3">320x200x8</font>和<font
FACE="Arial" SIZE="3">320x240x8</font>。某些顯卡同樣也支持線性低分辨率模式。在這種模式中,主頁面可以被鎖定和直接訪問,這在<font
FACE="Arial" SIZE="3">Mode X</font>模式中是不可能的。</p>
<p ALIGN="JUSTIFY">應用程序在調用<font FACE="Arial" SIZE="3">IDirectDraw2::SetCooperativeLevel</font>函數時,只有使用了<font
FACE="Arial" SIZE="3">DDSCL_ALLOWMODEX</font>、<font FACE="Arial" SIZE="3">DDSCL_FULLSCREEN</font>、和<font
FACE="Arial" SIZE="3">DDSCL_EXCLUSIVE</font>標志符,才能使用<font FACE="Arial"
SIZE="3">Mode X</font>模式。如果沒有指定<font FACE="Arial" SIZE="3">DDSCL_ALLOWMODEX</font>標志符,<font
FACE="Arial" SIZE="3">IDirectDraw2::EnumDisplayModes</font>將不會列舉出<font
FACE="Arial" SIZE="3">Mode X</font>模式,并且調用<font FACE="Arial" SIZE="3">IDirectDraw2::SetDisplayMode</font>函數以請求一個<font
FACE="Arial" SIZE="3">Mode X</font>模式,將會失敗。</p>
<font FACE="Arial" SIZE="3"><p ALIGN="JUSTIFY">Windows 95</font>和<font FACE="Arial"
SIZE="3">Windows NT</font>不直接支持<font FACE="Arial" SIZE="3">Mode X</font>模式,因此,當你的應用程序處于<font
FACE="Arial" SIZE="3">Mode X</font>模式時,你將無法使用<font FACE="Arial"
SIZE="3">IDirectDrawSurface3::Lock</font>或<font FACE="Arial" SIZE="3">IDirectDrawSurface3::Blt</font>以鎖定或<font
FACE="Arial" SIZE="3">Blit</font>到主頁面。你同樣也不能對主頁面,或<font
FACE="Arial" SIZE="3">GDI</font>的屏幕設備環境使用<font FACE="Arial" SIZE="3">IDirectDrawSurface3::GetDC</font>函數。<font
FACE="Arial" SIZE="3">Mode X</font>模式是在<font FACE="Arial" SIZE="3">DDSCAPS</font>結構中由<font
FACE="Arial" SIZE="3">DDSCAPS_MODEX</font>標志符指定的,該結構是<font
FACE="Arial" SIZE="3">DDSURFACEDESC</font>結構的一部分(<font FACE="Arial" SIZE="3">DDSURFACEDESC</font>結構是由<font
FACE="Arial" SIZE="3">IDirectDrawSurface3::GetCaps</font>和<font FACE="Arial" SIZE="3">IDirectDraw2::EnumDisplayModes</font>函數返回的)。</p>
<p ALIGN="JUSTIFY">目前,<font FACE="Arial" SIZE="3">Windows NT</font>還不能支持<font
FACE="Arial" SIZE="3">Mode X</font>模式和某些線性低分辨率模式。</p>
<hr>
<b><font FACE="黑體"><p></font></font><font SIZE="3"><a
name="對高分辨率和真彩色的支持"><font face="宋體">對高分辨率和真彩色的支持</font></a></b></p>
<p align="right"></font><font FACE="宋體" SIZE="3"><a href="#目錄">返回目錄</a></p>
</blockquote>
</font>
<blockquote>
<font FACE="Arial" SIZE="3"><p ALIGN="JUSTIFY">DirectDraw</font><font FACE="宋體"
SIZE="3">支持顯示設備驅動所支持的所有屏幕分辨率和色彩位深度。</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">允許應用程序改變顯示模式到計算機顯示驅動所支持的任何一個模式,包括</font><font
FACE="Arial" SIZE="3">24</font><font FACE="宋體" SIZE="3">或</font><font FACE="Arial"
SIZE="3">32</font><font FACE="宋體" SIZE="3">位色彩模式(也稱為真彩色)。</font><font
FACE="Arial" SIZE="3"></p>
</font>
</blockquote>
<blockquote>
<font FACE="Arial" SIZE="3"><p ALIGN="JUSTIFY">DirectDraw</font><font FACE="宋體"
SIZE="3">同樣也支持對真彩色頁面的硬件仿真層(</font><font FACE="Arial"
SIZE="3">HEL</font><font FACE="宋體" SIZE="3">)的</font><font FACE="Arial" SIZE="3">Blit</font><font
FACE="宋體" SIZE="3">操作。如果顯示設備驅動支持這些分辨率的</font><font
FACE="Arial" SIZE="3">Blit</font><font FACE="宋體" SIZE="3">操作,那么硬件</font><font
FACE="Arial" SIZE="3">Blitter</font><font FACE="宋體" SIZE="3">(位塊傳送器)將被用來進行視頻</font><font
FACE="Arial" SIZE="3">RAM</font><font FACE="宋體" SIZE="3">對視頻</font><font
FACE="Arial" SIZE="3">RAM</font><font FACE="宋體" SIZE="3">的</font><font FACE="Arial"
SIZE="3">Blit</font><font FACE="宋體" SIZE="3">操作。否則,</font><font
FACE="Arial" SIZE="3">HEL</font><font FACE="宋體" SIZE="3">將被用來完成此項操作。</font><font
FACE="Arial" SIZE="3"></p>
</font>
</blockquote>
<blockquote>
<font FACE="Arial" SIZE="3"><p ALIGN="JUSTIFY">Windows 95</font><font FACE="宋體"
SIZE="3">和</font><font FACE="Arial" SIZE="3">Windows NT</font><font FACE="宋體"
SIZE="3">允許用戶指定它們所使用的顯示器類型。</font><font FACE="Arial"
SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">核對已知的顯示模式與已安裝的顯示器所限制使用的顯示模式。如果</font><font
FACE="Arial" SIZE="3">DirectDraw</font><font FACE="宋體" SIZE="3">發現所請求的模式與顯示器不兼容,對</font><font
FACE="Arial" SIZE="3">IDirectDraw2::SetDisplayMode</font><font FACE="宋體" SIZE="3">函數的調用失敗。當你調用</font><font
FACE="Arial" SIZE="3">IDirectDraw2::EnumDisplayModes</font><font FACE="宋體" SIZE="3">函數時,只有顯示器支持的模式才可以被列舉出來。</p>
</font>
</blockquote>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -