★ 5--4--1 在对话框上使用图像
本节的知识,在前面的内容中其实已基本涉及到了,现就总结归纳一下。在对话框上使用图像,可采用以下几种方法: ① 使用静态图像控件。采用这种方式时,既可以在对话框上显示小幅图像作为装饰,又可在必要时显示整幅图像作为对话框的背景。但在设计对话框时要首先象对话框上加入静态图像控件,否则其它控件就会被所显示的图形遮挡。这是在对话框上使用图像最简单的方法。 ② 使用 CBitmapButton 类位图按钮在对话框上显示图像。一般很少采用这种方式来显示图案。但在某些特殊情况下时,例如要求对鼠标指针的移动具有感应功能时,这是最简单易行的方法。示例可见 P112 5—2—3 CBitmapButton 类位图按钮。 ③ 重载对话框的 OnPaint( ) 函数。在 OnPaint( ) 函数中进行所需的绘图操作。这通常是在对话框上显示作为背景的位图的最好方式,不会出现背景图案将对话框上的其它控件遮挡住的情况。同使用 CBitmapButton 类位图按钮一样,利用这种方法能够实现像“金山词霸”那样有限的 Skin 效果。示例可见 P108 5—5—1 从资源中读取位图。 ④ 使用 Microsoft Forms 2.0 Image ActiveX 控件。这是在对话框上显示真彩色图像最简单的方式。但也不要认为这种方法尽善尽美,使用该方法有可能在这台机器上显示的图像精美绝伦,而在那台机器上就一塌糊涂。 在上述的方法中,只有最后两种具有显示真彩色图像的能力,使用方法④并不是太可靠;使用方法③因为涉及到 DIB 文件的读取又显得略为复杂。实际上,并不是只有采用真彩色图像才能取得华丽的界面效果,而且大量的采用真彩色图像会导致程序过于庞大。一种很好解决方法是使用经过色彩抖动的 256 色图像来代替真彩色图像。作为对读者的一个建议,抓图工具 HyperSnap-DX 其实是进行色彩抖动及图像缩放的一个极好工具。 |