如何进行Visual C++界面编程

开发 后端
在向大家详细介绍XX之前,首先让大家了解下Visual C++界面,然后全面介绍Visual C++界面,还是比较常用的,于是我研究了一下Visual C++界面,欢迎大家学习参考。

下面主要讲述学习Visual C++界面时碰到的有关困难和问题,以及学习Visual C++界面时的技巧说明,如何更好的进行Visual C++界面的学习等相关问题介绍,欢迎大家学习参考。

为了能有这个功能,我写了下面的这个函数。首先得在你的对话框中添加一个的WM_CTLCOLOR的消息句柄,或者使用CComboBox的继承类,而且在其中添加下面的代码:这样之后还没有完全好,你还得刷新一下列表框。

那样才能随时根据列表框中的文本的长度,而改变列表框的宽度,要想这样的话,你还得这样。你必须扫描列表框中的条目,还得计算其中文本的长度(通过pdc),这样你如果再刷新列表框的话,才能一条目中比较长的来显示。上面的方法是通过WM_CTLCOLOR消息来实现的,后来才知道在MFC的CComboBox类中有一个函数也可以实现同样的功能,就是:

  1. BOOL CSampleDialog : : OnInitDialog ( )   
  2.  
  3. {   
  4.  
  5. CDialog : : OnInitDialog ( ) ;   
  6.  
  7. //Get pointer to spin button .   
  8.  
  9. CSpinButtonCtrl * pSpin - ( CSpinButtonCtrl *) GetDlgItem (IDC_SPIN) ;   
  10.  
  11. ASSERT _ VALID (pSpin) ;   
  12.  
  13. //Set spin buttons default position .   
  14.  
  15. pSpin —> SetPos (10) ;   
  16.  
  17. return TRUE ;   
  18.  
  19. }  

在实现高彩色工具条之前,先研究一下普通16色的工具条的实现过程,并从中总结出改进方法。在VC的资源视图中工具条是一个资源名为Visual C++界面资源,并可通过在编辑按钮上的图标来完成工具条上图标的绘制。虽然在资源视图中工具条上各按钮的图标是相互独立的。

但在存储时并非像图标一样保存为ico格式文件而是以bmp位图格式保存在磁盘上的。该位图是一个由工具条上的按钮图标组成的长条型位图图像,中间没有任何缝隙,在程序运行和在资源视图对工具条进行编辑时该图像首先装载到一个图像列表中。

然后工具栏根据索引依次从图像列表中将图像显示到工具条的各个按钮上。由于Visual C++界面限制工具栏上的图标不能超出16色,因此不论是在资源视图直接编辑位图还是用复制粘贴等手段均无法获取超出256色的工具条(注:用复制粘贴的方法虽然在编辑视图中可以暂时显示出256色的图标,但在程序运行时仍会退化成16色)。

由于不能在资源视图中通过编辑Toolbar资源实现16色以上的图标,加之工具条在显示时有并不直接从Toolbar获取图标而是从图像列表中读取,因此可以通过其他一些图像处理软件做好类似于工具条的bmp图像(仅颜色比普通工具条bmp图像丰富,其余完全一样)。

并以位图的形式加入到程序资源。在使用时,先将其读取到图像列表,这样图像列表中用于显示到工具条上的图标的颜色就可以是256、24位、甚至32位色的了。由于工具条缺省时将直接加载资源名为Visual C++界面为图标的来源,因此还必须通过SetImageList()函数将含有高彩色工具条位图的图像列表指定为工具条的图标来源。

【编辑推荐】

  1. 简介学习C++总结之谈
  2. 对C++库函数进行学习探索总结笔记
  3. C++类库设计的基本构思与方法
  4. C++语言真的还有市场价值?
  5. C++类库设计的基本构思与方法
责任编辑:chenqingxiang 来源: NET130
相关推荐

2010-01-12 09:59:08

Visual C++

2010-01-19 14:39:22

C++ Builder

2010-01-20 13:29:40

C++环境

2010-01-27 15:29:45

C++异常处理

2009-08-27 15:33:58

C# Cookie编程

2010-01-20 09:32:30

C++类

2010-02-02 13:04:03

C++头文件

2010-01-12 15:13:37

Visual C++环

2009-11-12 11:00:56

Visual C++

2010-01-15 19:05:42

学习C++

2014-09-19 10:46:36

LuaCC++

2010-01-27 10:45:21

C++单例模式

2010-02-05 17:16:05

C++构造函数

2010-01-18 17:14:50

C++语言

2010-01-22 16:21:50

C++ Builder

2009-12-10 17:19:05

Visual Stud

2011-03-30 14:49:00

Visual C++CPU

2010-01-11 11:02:59

Visual C++

2010-08-03 14:52:49

Flex界面设计

2010-03-15 15:45:15

Python编程语言
点赞
收藏

51CTO技术栈公众号