XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


遇到问题了,请对MFC了解的朋友进来看一下(有关定时器和列表控件)

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: 遇到问题了,请对MFC了解的朋友进来看一下(有关定时器和列表控件)  
 
月光骑士
二副
Rank: 3Rank: 3



UID 19191
精华 0
积分 477
帖子 477
阅读权限 30
注册 2001-11-17
来自 山东
状态 离线
遇到问题了,请对MFC了解的朋友进来看一下(有关定时器和列表控件)

1:当我设定多个定时器的时候,为了让这些定时器处理不同的SetTimer()所要求的事务,是不是要在OnTimer(UINT_IdEvent)中采取如下结构:
_ _ _ if(IdEvent==1)
_ _ _ _....
_ _ _else_if(IdEvent==2)
_ _ _ _....
_ _ _....
呵呵,这个问题是刚刚想到的。我还是要回去验证一下。第二个问题是重要的。
2:就是如何改变列表控件的背景色和字体。前些天论坛里的一个老兄给我弄到一分英文的资料。我的确看懂了。可是真正做起来怎么着都改不了。图书馆里我也找到了有关的资料,也是无法实现。来的时候没有带软盘,所以没法把代码带过来。谁实现了?帮帮我!
2003-5-1 22:57#1
查看资料  Blog  发短消息  顶部
 
月光骑士
二副
Rank: 3Rank: 3



UID 19191
精华 0
积分 477
帖子 477
阅读权限 30
注册 2001-11-17
来自 山东
状态 离线
遇到问题了,请对MFC了解的朋友进来看一下(有关定时器和列表控件)

OK!!!第二个问题我似乎找到答案了。刚才突然搜着了。大家也看一下吧。
在VC中,当我们大量的运用控件时,往往会为改变控件的颜色所烦恼。因为VC不象VB那样,可以方便地改变对话框及各个控件的颜色,要改变一个控件的颜色比较烦琐。本文所介绍的就是如何改变在一个对框上的控件的颜色。步骤如下:_
 _①_先创建一个基于对话框的工程,命名为test,然后在对话框上加入一个ListBox控件。_
 _②_在testDlg.h中加入一个成员变量:CBrush_m_brush;_
 _③_在OnInitDialog()中,加入m_brush.CreateSolidBrush(_RGB(0,0,0_);此处设置的RGB值可以改变ListBox的背景色。为了观看ListBox中字的颜色变化,我们给ListBox加入几个字:利用Class_Wizard给ListBox加入一个Control类型的成员变量m_ctrlListBox,然后在OnInitDialog()加入如下所示的代码:_
  m_ctrlListBox.AddString("1号选手");
  m_ctrlListBox.AddString("2号选手");
 _④_点击Class_Wizard,给testDlg加入WM_CTLCOLOR事件,单击Edit_Code按钮,然后把改函数的内容替换为如下代码:
  if(nCtlColor==_CTLCOLOR_LISTBOX)
  {
    pDC-_>SetBkMode(TRANSPARENT);
    pDC-_>SetTextColor(RGB(255,255,255));
    //此处设置字体的颜色
    return_(HBRUSH)m_brush.GetSafeHandle();
  }
  else
    return_CDialog::OnCtlColor_(pDC, pWnd, nCtlColor);
 _现在编译并运行改程序,可以看到列表框已经变成黑色而其中的字已经变为白色了!_ 

2003-5-1 23:11#2
查看资料  Blog  发短消息  顶部
 
月光骑士
二副
Rank: 3Rank: 3



UID 19191
精华 0
积分 477
帖子 477
阅读权限 30
注册 2001-11-17
来自 山东
状态 离线
遇到问题了,请对MFC了解的朋友进来看一下(有关定时器和列表控件)

上面的文章是让列表控件的父窗口去修改控件的颜色。还有一种方式是从控件类派生出自己的类,比如从CListBox派生出来_一个类,加入WM_CTLCOLOR_REFLECT消息让列表框自己主动的参与绘制工作。
2003-5-1 23:17#3
查看资料  Blog  发短消息  顶部
 
blash
高级水手
Rank: 2



UID 7120
精华 0
积分 143
帖子 143
阅读权限 20
注册 2002-1-9
状态 离线
遇到问题了,请对MFC了解的朋友进来看一下(有关定时器和列表控件)

多个定时器可采用switch语句,可以是程序可读性更强
2003-5-2 12:26#4
查看资料  Blog  发短消息  顶部
 
珍惜
小水手
Rank: 1



UID 21556
精华 0
积分 21
帖子 21
阅读权限 10
注册 2006-5-7
状态 离线
switch不仅可以达到“可读性更强”
在有些时候if是达不到switch的功能~!~!
有些情况下switch和if差不多,但有些情况,不是通用的。switch不是只为了增强可读性而出现的~!~!
2006-5-7 03:37#5
查看资料  Blog  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 00:35 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver