实用专题OICQ专区 MSN专区 主页浏览 影音播放 系统优化 办公专区 杀软专区 木马防范 流氓清除 黑软专区 设计专区 压缩解压 下载工具 P2P工具专区 输入法专区

您当前的位置:JZ5U绿色下载站文章中心软件技术操作系统 → 文章内容
  • 最新电脑报部分精华文章集合 (值得收藏)

,0为黑色,255,255,255为白色。
        RGB宏是VC++程序使用颜色的基础,但在使用时遇到的棘手问题是,当你选择一种“中间色”时,你如何才能知道确切的“配方”──那三个0~255之间的颜色参数分别是多少?这也是笔者在研制一个项目中遇到的一个实际问题,尽管它在整个项目中显得微不足道。为此,笔者编制了一个实验程序,运行后可以调用MFC的颜色对话框,当我们选中具体颜色后,就得到其RGB值,并存放到文本文件RGBNum中。当我们得到这个值后,在上面代码中就可以用这个数值去替代RGB宏了。实验程序具体代码如下:
        void CMyView::OnSelRGB()
        {
        CColorDialog colorDialog;
        COLORREF Mycolor;
        FILE *fin;
        fin=fopen("RGBNum.txt","a");
        if(colorDialog.DoModal()==IDOK)
        {
        Mycolor =colorDialog.GetColor();
        fprintf(fin," Mycolor =%ld\n",Mycolor);
        fclose(fin);
        }
        }
        上述代码是通过COLORREF获取RGB颜色值的。COLORREF是一个32bit整数,它常用RGB宏作初始化。
        二、设置对话框的背景颜色
        要改变应用程序所有对话框的背景颜色,可以调用CwinApp::SetDialogBkColor(),它的第一个参数指定了背景颜色,第二个参数指定了文本颜色。www.jz5u.com
        下例将应用程序对话框设置为蓝色背景和黄色文本。
        BOOL CMyApp::InitInstance()
        {
        ......
         //蓝色背景黄色文本
         SetDialogBkColor(RGB(0,0,255),RGB(255,255,0));
         ......
        }
        三、如何控制文字的显示颜色
        在VC++编程中,常会用LOGFONT结构中的14个字段定义去控制显示字符的大小、粗细、角度、字体等。而且可以用函数SetTextColor(COLORREF
      crColor)设置字符颜色。有关代码如下所示:
        void CMyView::OnDraw(CDC* pDC)
        {
         CMenuCom03Doc* pDoc = GetDocument();
         ASSERT_VALID(pDoc);
         // 设置文本颜色
         COLORREF color=RGB(0,250,0);
        pDC->SetTextColor(color);
        pDC->TextOut(120,200,"彩色字体样例");
        }
        下一步,我们还可以设置具有翻转背景颜色的文本。即调用CDC::SetBkMode()函数并传送TRANSPARENT使背景颜色保持不变。以下代码用红色带阴影显示文本:
        void CMyView::OnDraw(CDC* pDC)
        {
         CDelemeDoc* pDoc = Get Document();
         ASSERT_VALID(pDoc);
         // TODO: add draw code for native data here
         CRect rc;
         GetClientRect(rc);
         CString str(_T("Hello,World!"));
         pDC->SetBkMode(TRANS PARENT);
         rc.OffsetRect(1,1);
         pDC->SetTextColor(RGB(0,0,0));
        pDC->DrawText(str,str.GetLength(),rc,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
        rc.OffsetRect(-1,-1);
        pDC->SetTextColor(RGB(255,0,0));
        pDC->DrawText(str,str.GetLength(),rcView,DT_SINGLELINE|DT_CEN
      TER|DT_VCENTER);
        }
        本文列举的源代码均在VC++6.0下调试运行通过。
      
      
      
      
      
      
      计算机等级考试释疑:VB应试心得

      VB因简单易学、功能强大和微软的支持而成为主流,于是越来越多参加全国计算机等级考试的人选择了它。不过请大家注意:二级VB考试笔试与上机时间均为90分钟,千万不要与其他语言的考试时间发生混淆。
        VB与QB的区别与联系
        VB与QB在数据类型、语法和程序结构等方面有很多相同之处,VB仍采用基本的BASIC语言,但它们的区别却是根本性的:
        1.QB只是一门程序设计语言,而VB不但是一门程序设计语言,更重要的还是在Windows操作系统界面下的软件开发工具,它主要用来开发可视化软件。
        2.QB中的程序是一个完整的程序系统,是不可以分割的,程序执行时从头执行到尾,编写程序时一定要精确地写出每一个步骤;而VB程序采用的是事件驱动编程机制,用户编写程序时不必写出很长的程序,只要写出简短的程序片断就可以了。
        比如这样一个例子,要求编程实现:输入两个数,输出它们的和。如果用QB,程序如下 INPUT a;b
        c=a+b
        PRINT c
        END
        而用VB程序则如下:
        Private Sub Command1_Click()
          A=InputBox("a=")
          B=InputBox("b=")
          C=val(a)+val(b)
          Print C
        End Sub
        这个例子中QB程序与VB程序在程序代码和语法规则上基本相似,但执行时就不一样了:QB只要运行,就可以得出结果;而VB程序则必须用鼠标单击Command1对象才能执行其代码,得出结果。如果单击窗体则操作对象错误;如果对Command1不单击而进行其他操作,则对象响应事件错误。这两者都不能执行VB下面的程序代码。因而在VB应试学习过程中,既要学会分析BASIC程序的执行流程,又要熟悉和掌握VB的操作界面、面向对象程序设计的特点。
        重视VB的基本概念
        VB的基本概念中,要特别重视数据类型的定义、表达式、函数及常用控件的属性、功能和使用。这是掌握面向对象程序设计、学会编写事件代码的基础,考试的内容涉及面很广,大家要多加记忆与理解。
        在前面的例子中,如果将其中的“C=val(a)+val(b)”改为“C=A+B”,那么从键盘输入A=1,B=2,结果还是3吗?答案是否定的。因为InputBox函数是输入语句,它只能接收文本,所以变量A与B内存放的并非是数字1与2而是字符“1”与“2”,而语句C=A+B中的“+”号的含义对于文本来讲并不是加而是连接的意思,因而答案为12。这个问题的理解充分地说明了掌握基本概念的重要性。
        2002年秋季笔试中有一选择题:在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:
        Private Sub Command1_Click()
        Static X As Integer
        Static Y As Integer
        Cls
        Y=1
        Y=Y+5
        X=5+X
        Print X,Y
        End Sub
        程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为:
        A) 15 16   B) 15 6
        C) 15 15   D) 5  6
        解析:本题主要考查对数据的定义,用Dim和用Static定义的变量在程序中的结果是完全不同的。用Dim定义的变量,在过程运行结束后,变量的值不会保留;用Static定义的变量,其值只被初始化一次,其后的值将继续保留。题目中x定义为Static类型,x第一次运行时初值为0,第二次运行前其值变为5,第三次运行前其值变为10,而

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


  • 作者:未知  来源:www.jz5u.net  发布时间:2006-4-23 21:20:12

----------------------------------The End Of Jz5u' Article---------------------------------- 以下是评论:【发表评论

------------------------------- · 相关文档浏览 · --------------------------------------------------------------------- · 热门文档浏览 · -------------------------------------