C++常用控件

合集下载

C语言中的GUI应用开发

C语言中的GUI应用开发

C语言中的GUI应用开发GUI(Graphical User Interface)是指图形用户界面,它通过使用图形和图标来与用户进行交互,使得用户更加直观地操作计算机。

在C语言中,我们也可以开发GUI应用程序,为用户提供更好的使用体验。

本文将介绍C语言中的GUI应用开发,并讨论一些常见的GUI库和开发工具。

一、GUI库的选择在C语言中,有许多GUI库可供选择,每个库都有其特点和适用场景。

以下是几个常用的GUI库:1. GTK+:GTK+是一种高度灵活的开源GUI库,可在Linux、Windows和Mac等平台上运行。

它提供了丰富的控件和功能,易于学习和使用。

2. Qt:Qt是一个跨平台的C++开发框架,具有强大的GUI开发能力。

尽管它主要用于C++开发,但也提供了C语言的接口。

3. WinAPI:WinAPI是Windows平台上的GUI库,用于开发Windows应用程序。

它提供了许多实用的函数和控件,但需要一定的Windows编程知识。

根据你的需求和开发平台,选择适合的GUI库进行开发。

二、GUI应用程序的基本结构在C语言中,开发GUI应用程序通常需要以下几个基本步骤:1. 引入所需的头文件:根据所选择的GUI库,引入相应的头文件,以便使用库中提供的函数和数据结构。

2. 创建窗口:通过调用库中的函数,创建一个窗口,用于展示应用程序的界面。

可以设置窗口的大小、标题等属性。

3. 添加控件:在窗口中添加所需的控件,如按钮、文本框、标签等。

使用库提供的函数,设置控件的位置、大小和其他属性。

4. 设置事件处理函数:对于用户与控件的交互,如点击按钮、输入文本等,需要为每个事件编写相应的处理函数,以便响应用户的操作。

5. 运行消息循环:调用库中的函数,启动应用程序的消息循环。

通过监听用户的输入和操作来触发不同的事件处理函数。

三、示例程序以GTK+为例,下面是一个简单的C语言GUI应用程序的示例:```c#include <gtk/gtk.h>// 点击按钮的事件处理函数void button_clicked(GtkButton *button, gpointer data){g_print("Hello, GUI!\n");}int main(int argc, char *argv[]){gtk_init(&argc, &argv);// 创建窗口GtkWidget *window =gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_title(GTK_WINDOW(window), "GUI Application");gtk_container_set_border_width(GTK_CONTAINER(window), 10);g_signal_connect(window, "destroy",G_CALLBACK(gtk_main_quit), NULL);// 创建按钮GtkWidget *button = gtk_button_new_with_label("Click Me!");g_signal_connect(button, "clicked", G_CALLBACK(button_clicked), NULL);// 添加按钮到窗口gtk_container_add(GTK_CONTAINER(window), button);// 显示所有控件gtk_widget_show_all(window);// 运行消息循环gtk_main();return 0;}```在上述示例程序中,我们使用了GTK+库来创建一个简单的GUI应用程序。

FMC编程基础·常用控件

FMC编程基础·常用控件

MFC编程基础————常用控件一、编辑框增加响应,在编辑框输入文字,点确定,有反应1.关联编辑框的成员变量2.添加按钮的响应函数(双击按钮)void CEx040105aDlg::OnOK(){CDialog::OnOK();CString strMess ;strMess.Format("你输入的数是%d\n",m_iIntvalue);AfxMessageBox(strMess);}二、数字滚选按钮在包含数字的变量控件旁边添加可以控制数字仅仅勾选即可,需勾选样式属性栏1、自动结伴(auto buddy)2、设置结伴整数(set buddy integer)三、按钮按键双击按钮,添加函数四、列表框1、增加一个ClistBox关联,变量名m_nameListBox2、在初始化函数中初始ListBox。

{……// TODO: Add extra initialization hereint nItem = m_nameListBox.AddString("张三");m_nameListBox.SetItemData(nItem,3);//3 is IDnItem = m_nameListBox.AddString("张三1");m_nameListBox.SetItemData(nItem,5);nItem = m_nameListBox.AddString("张三2");m_nameListBox.SetItemData(nItem,7);return TRUE;// return TRUE unless you set the focus to a control }3、为ListBox 增加LBN_SELCHANGE消息的响应函数:void CEx040105aDlg::OnSelchangeList1(){// TODO: Add your control notification handler code hereint nSel = m_nameListBox.GetCurSel();if(-1!= nSel){CString strName;m_nameListBox.GetText(nSel,strName);UINT uID = m_nameListBox.GetItemData(nSel);CString strMess;strMess.Format("你选了%s, ID是%u",strName, uID);AfxMessageBox(strMess);}}五、复选框和单选框1、单选框属性,勾选群组(group),关联第一个单选框如:m_iSel。

Csharp控件详解

Csharp控件详解

Csharp控件详解C#控件一览表前所未有的震撼(太详细了)C#控件及常用设计整理1、窗体1、常用属性(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。

(2)WindowState属性:用来获取或设置窗体的窗口状态。

取值有三种:Normal(窗体正常显示)、Minimized(窗体以最小化形式显示)和Ma某imized(窗体以最大化形式显示)。

(3)StartPoition属性:用来获取或设置运行时窗体的起始位置。

(4)Te某t属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。

(5)Width属性:用来获取或设置窗体的宽度。

(6)Height属性:用来获取或设置窗体的高度。

(7)Left属性:用来获取或设置窗体的左边缘的某坐标(以像素为单位)。

(8)Top属性:用来获取或设置窗体的上边缘的y坐标(以像素为单位)。

(9)ControlBo某属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。

值为true时将显示控制框,值为fale时不显示控制框。

(10)Ma某imizeBo某属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。

值为true时显示最大化按钮,值为fale时不显示最大化按钮。

(11)MinimizeBo某属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。

值为true时显示最小化按钮,值为fale时不显示最小化按钮。

(12)AcceptButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Enter键时就相当于单击了窗体上的该按钮。

(13)CancelButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Ec键时就相当于单击了窗体上的该按钮。

(14)Modal属性:该属性用来设置窗体是否为有模式显示窗体。

如果有模式地显示该窗体,该属性值为true;否则为fale。

c 标准库 gui

c 标准库 gui

c 标准库 guiC标准库GUI。

GUI,全称为图形用户界面(Graphical User Interface),是一种通过图形方式显示计算机操作界面的技术。

在C标准库中,也提供了一些相关的GUI库,可以帮助开发者实现图形化的用户界面。

本文将介绍C标准库中常用的GUI库,以及它们的基本用法和特点。

一、ncurses。

ncurses是C语言中用于控制终端显示的库,它可以帮助开发者在终端中实现简单的文本界面。

ncurses提供了一系列的函数,可以控制光标位置、颜色、文本格式等,从而实现基本的用户界面交互。

开发者可以使用ncurses创建菜单、窗口、按钮等控件,实现基本的文本界面交互。

使用ncurses编写GUI程序的基本步骤如下:1. 初始化ncurses环境,使用initscr函数初始化终端。

2. 创建需要的窗口和控件,使用函数如newwin、wprintw等。

3. 处理用户输入,使用函数如getch获取用户输入。

4. 刷新界面,使用函数如wrefresh刷新窗口显示。

ncurses库的优点是简单易用,适合在终端环境中实现基本的文本界面交互。

但是它的功能有限,无法实现复杂的图形界面,也无法支持鼠标交互。

二、GTK+。

GTK+是一种跨平台的图形用户界面工具包,它提供了丰富的控件和功能,可以帮助开发者实现复杂的图形界面。

GTK+使用C语言编写,提供了一系列的函数和对象,可以创建窗口、按钮、菜单等各种控件,实现丰富多彩的用户界面交互。

使用GTK+编写GUI程序的基本步骤如下:1. 初始化GTK+环境,使用函数gtk_init初始化GTK+库。

2. 创建主窗口和其他控件,使用函数gtk_window_new、gtk_button_new等。

3. 设置控件属性和信号处理函数,使用函数gtk_widget_set_property、g_signal_connect等。

4. 运行主循环,使用函数gtk_main运行GTK+的主循环。

C语言也能干大事

C语言也能干大事

《C语言也能干大事》第一节板书:1、C语言不是只能开发黑底白字的控制台界面程序。

学习本课的基础:本课程不讲C语言基础知识,C语言考及格,学的过程中配合复习,有不懂的回去翻书。

2、学完本课程以后同学们做的一些作品赏析:计算器、俄罗斯方块、音乐播放器、学生管理系统(/forum/thread-2487-1-1.html),邮件客户端(/forum/thread-3697-1-1-uid7.html),Web论坛(/forum/thread-3991-1-1-uid7.html)可以开发游戏、网络程序、网站程序等。

C语言什么都可以开发3、准备工作,安装VC6(在网上搜“Visual C++ 6”,找合适的地址下载)。

VC6在Vista、Windows下启动可能有兼容性提示。

3、开始做第一个C语言的程序【文件】→【新建】,打开【工程】选项页,选择【Win32 Application】(不要选错了),在“位置”中修改工程保存的路径。

(以前用Tubor C的同学会问“什么叫工程?”。

在以前大家用TurboC写的程序一般也就是一个文件,但是用C语言写大程序的时候不可能把所有的代码都写在一个文件中,肯定要写很多文件。

“工程(Project)”就是这些文件的一个集合。

)在“工程名”中写入你为这个工程取的名字,最好有一定意义。

下一步【一个简单的Windows程序】4、向Windows的世界问好MessageBox(NULL,TEXT("世界你好"),TEXT("问好"),MB_OK);VC6在Vista、Windows下编译调试时可能有兼容性提示。

5、学本课程常见问题(1)为什么不用TurboC?Turbo C(Win-TC)太老了,界面还是DOS界面,库也是DOS的库,没有网络开发包、没有Windows界面开发包。

TC只能用来学C的基础,要进行实际开发必须使用先进一点的工具。

clistctrl复选框勾选时触发的方法

clistctrl复选框勾选时触发的方法

clistctrl复选框勾选时触发的方法【原创版3篇】篇1 目录1.CListCtrl 控件简介2.CListCtrl 复选框勾选时触发的方法3.示例代码解析篇1正文一、CListCtrl 控件简介CListCtrl(列表控件)是 MFC(Microsoft Foundation Class)库中的一个常用控件,主要用于在窗口中展示一系列的项目,并允许用户进行选择。

CListCtrl 控件提供了丰富的功能,例如项目排序、项目图标、复选框等。

在众多功能中,CListCtrl 复选框勾选时触发的方法是我们今天要讨论的重点。

二、CListCtrl 复选框勾选时触发的方法当用户在 CListCtrl 控件中勾选或取消勾选某个项目时,CListCtrl 会触发一系列的消息处理函数。

其中,最重要的两个函数是:1.ONLBUTTONDOWN:当用户按下鼠标按钮时,该函数被调用。

此时用户可能要开始拖动鼠标以进行项目选择。

2.ONLBUTTONUP:当用户松开鼠标按钮时,该函数被调用。

此时用户可能已经完成了项目选择,或者取消了选择。

在 ONLBUTTONDOWN 和 ONLBUTTONUP 函数中,我们可以处理复选框的勾选和取消勾选操作。

具体来说,我们可以通过检查当前鼠标位置和项目位置的关系,来判断用户是否成功地勾选或取消勾选了某个项目。

三、示例代码解析下面是一个简单的示例,演示了如何在 CListCtrl 控件中处理复选框勾选时触发的方法:```cpp#include <afx.h>class CMyListCtrl : public CListCtrl{public:CMyListCtrl() {}void OnLButtonDown(UINT nFlags, CPoint point){// 设置鼠标当前位置m_ptLastMouseDown = point;// 检查当前位置是否在某个项目内int nItem = GetItemFromPoint(point);if (nItem >= 0){// 设置当前项目为选中状态SetItemState(nItem, LVIS_SELECTED);}else{// 设置当前项目为未选中状态SetItemState(nItem, LVIS_UNSELECTED); }// 调用基类的 LButtonDown 函数CListCtrl::OnLButtonDown(nFlags, point); }void OnLButtonUp(UINT nFlags, CPoint point){// 检查当前位置是否在某个项目内int nItem = GetItemFromPoint(point);if (nItem >= 0){// 设置当前项目为选中状态SetItemState(nItem, LVIS_SELECTED); }else{// 设置当前项目为未选中状态SetItemState(nItem, LVIS_UNSELECTED); }// 调用基类的 LButtonUp 函数CListCtrl::OnLButtonUp(nFlags, point);}// 获取指定点所在的项目索引int GetItemFromPoint(CPoint point){// 计算当前鼠标位置到项目位置的距离int nItem = -1;int nItemCount = GetItemCount();for (int i = 0; i < nItemCount; ++i) {CRect rect;GetItemRect(i, rect);if (PtInRect(point, rect)){nItem = i;break;}}return nItem;}protected:CPoint m_ptLastMouseDown;};```通过这个示例,我们可以看到在 ONLBUTTONDOWN 和 ONLBUTTONUP 函数中,我们首先检查鼠标当前位置是否在某个项目内。

C_-TreeView控件使用方法

C_-TreeView控件使用方法

TreeView 控件显示Node 对象的分层列表,每个Node 对象均由一个标签和一个可选的位图组成。

本文主要介绍C# treeView控件中,添加,修改、删除节点等c# treeview控件的使用方法。

其代码如下:1.private void Form1_Load(object sender, EventArgs e)2.{3. belEdit = true;//可编辑状态。

4.5.,这个结点是根节点。

6. TreeNode node = new TreeNode();7. node.Text = "hope";8. treeView1.Nodes.Add(node);9. TreeNode node1 = new TreeNode();10. node1.Text = "hopeone";11. TreeNode node11 = new TreeNode();12. node11.Text = "hopeoneone";13. TreeNode node2 = new TreeNode();14. node2.Text = "hopetwo";15. node1.Nodes.Add(node11);//在node1下面在添加一个结点。

16. node.Nodes.Add(node1);//node下的两个子节点。

17. node.Nodes.Add(node2);18.19. TreeNode t = new TreeNode("basil");//作为根节点。

20. treeView1.Nodes.Add(t);21. TreeNode t1 = new TreeNode("basilone");22. t.Nodes.Add(t1);23. TreeNode t2 = new TreeNode("basiltwo");24. t.Nodes.Add(t2);25.26.27.}28.29.private void button1_Click(object sender, EventArgs e)30.{//点击该按钮的时候,会移除选中项31. treeView1.Nodes.Remove(treeView1.SelectedNode);32.}33.34.private void button2_Click(object sender, EventArgs e)35.{//点击这个按钮的时候,可以修改选中项36. treeView1.SelectedNode.BeginEdit();37.}注意:在使用这个属性的时候,必须设置belEdit = true,否则会提示错误。

算法与程序设计知识点汇总

算法与程序设计知识点汇总

算法与程序设计知识点汇总第一章计算机解决问题的基本过程一、开始分析问题设计算法编写程序调试、运行程序问题解决二、算法-----程序设计的“灵魂”1、定义:就是解决问题的方法和步骤2、特征:1、确定性:每一步都有确切的含义2、有穷性:执行的步骤和每一步执行的时间都是有限的3、输入:有零个或多个输入4、输出:至少产生一个输出5、可行性:原则上可精确运行3、算法的描述:1、自然语言 2、流程图(P11) 3、伪代码(p12)4、计算机语言三:程序设计语言的发展:机器语言:是能直接被计算机识别的语言,是一串由“0”“1”构成的二进制数汇编语言:符号化语言,比机器语言容易识别和记忆,用汇编语言编制的程序不能被计算机直接执行,必须经过转换处理。

高级语言:更接近于自然语言(英语)和数学语言的编程语言,容易掌握和使用,也不能直接识别,必须经过转换才能被计算机执行。

第二章一、visiual basic 可视化程序开发工具,主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木一样构造应用程序的各种界面,然后再编写少量的代码就可以构建应用程序,提供了程序设计,编辑,调试,运行于一体的集成开发环境。

二、VB6.0的集成开发环境三个工作栏:标题栏菜单栏工具栏六个基本窗口:主窗口(main) 窗体窗口(form) 工具箱窗口(toolbox)工程窗口(project) 属性窗口(properties) 窗体布局窗口(formlayout) 三、属性---用来描述对象的外部特征四、常用控件熟悉常用控件(标签、文本框、命令按钮)的作用,图标及其属性五、数据的表示与处理1、Vb数据类型Double 双精度实型8 Byte -1.797693134E308~4.940656458E3244.940656458E-324~1.797693134E308String 字符串型10 Byte+串长度0~约20亿个字符Boolean 布尔型 2 Byte True或FalseDate 日期型8 Byte 100/1/1~9999/12/312、常量与变量的说明:常量说明:Const a=3.14 const a as single=3.14变量说明: Dim a As integerDim b As integerDim a,b As integer3、运算符(1) 算术运算符(2)字符串运算符&、+ 字符串连接" 123 " + " 456 " 结果 " 123456 "" 123 " & " 456 " 结果 " 123456 "区别: + 两边必须是字符串, & 不一定例如:"abcdef" & 12345 ' 结果为 "abcdef12345 ""abcdef " + 12345 ' 出错"123" & 456 ' 结果为" 123456 "“123” + 456 ' 结果为 579注意:"123 " + True '结果为 122True转换为数值-1,False转换为数值0(3)关系运算符a、将两个操作数进行大小比较,结果为逻辑量。

CSerial类与MSComm控件

CSerial类与MSComm控件

一、CSerialPort类支持多线程链接(非MODEM)的串口编程操作,其步骤如下:第一步:在**Dlg.h文件添加#include "SerialPort.h"(需先加入类头文件与源文件)第二步:添加成员变量 CSerialPort serialPort;第三步:在初始化对话框函数中调用serialPort.InitPort,serialPort.StartMonitoring 第四步:发送,serialPort.WriteToPort(buf);第五步:接收,在类的定义中,声明消息函数afx_msg LONG OnCommunication(UINT, LONG);在.cpp文件中添加映射ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)并实现LONG **Dlg::OnCommunication(WPARAM ch, LPARAM port)基于单文档的应用程序,则初始化在新增加的OnInitialUpdate()中添加代码。

说明:由于OnCommunication(WPARAM ch,LPARAM port)带参,所以其接收代码比MSComm 控件的接收代码简单很多,不要涉及接收函数及其数据类型的转换。

二、但对于MODEM控制,需要对类进行改写,采用MSComm控件比较理想。

使用MSComm控件进行编程的基本步骤:1)在建立的工程中加入MSComm控件;2)添加MSComm控件的ID关联变量(或者对象);3)对串口进行初始化,设置MSComm控件的属性(一般在OnInitDialog中);4)添加串口事件的消息处理函数OnComm(),在函数中根据应用需要,编写数据处理代码;(一般用于接收缓冲区里面的数据)5)编写串口发送等其他代码;(一般在按钮处理函数中实现)6)关闭串口。

以上采用MSComm控件的是事件驱动方式,即通过函数OnComm()处理。

Visual Basic 6MSComm控件

Visual Basic 6MSComm控件

Visual Basic6.0(以下简称VB)是一种功能强大、简单易学的程序设计语言。

它不但保留了原先Basic语言的全部功能,而且还增加了面向对象程序设计功能。

它不仅可以方便快捷地编制适用于数据处理、多媒体等方面的程序,而且利用ActiveX控件MSComm还能十分方便地开发出使用计算机串口的计算机通信程序。

本文结合计算机通信的两个例子,详细介绍如何在VB中使用MSComm控件。

处理方式MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程序设计中的中断方式。

当串口发生事件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。

本文的两个例子均采用该方式。

另一种为查询方式,在用户程序中设计定时或不定时查询MSComm控件的某些属性是否发生变化,从而确定相应处理。

在程序空闲时间较多时可以采用该方式。

常用属性和方法利用MSComm控件实现计算机通信的关键是理解并正确设置MSComm控件众多属性和方法。

以下是MSComm 控件的常用属性和方法:●Commport:设置或返回串口号。

●Settings:以字符串的形式设置或返回串口通信参数。

●Portopen:设置或返回串口状态。

●InputMode:设置或返回接收数据的类型。

●Inputlen:设置或返回一次从接收缓冲区中读取字节数。

●InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。

●InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。

●Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。

●OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。

●OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。

●Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。

●Rthreshold:该属性为一阀值。

计算机C语言编程教程 第三章 常用控件

计算机C语言编程教程 第三章 常用控件

列表框控件(List Box)
• 列表框控件是一个条目列表,它允许用户 从所列出的表项中进行单项或多项选择, 被选择的项呈高亮度显示。列表框具有边 框,并且一般带有一个垂直滚动条。列表 框分单选列表框和多重选择列表框两种: 单选列表框一次只能选择一个列表项,而 多重选择列表框可以进行多重选择。
组合框控件(Combo Box)
对话框包含静态正文控件、按钮控件、图 片控件、编辑框控件、列表框控件和组合 框等控件。
精品课件!
计算机C语言编程教程 第 三章 常用控件
控件的基本概念
• 控件是独立的小部件,在对话框与用户的交互 过 程 中 , 担 任 着 主 要 角 色 。 对 话 框 在 Visual C++中实际上是窗口,因此,控件可以说是构 成应用程序窗体的主要组成部分。
Visual C++中的控件
• Visual C++ 6.0中所有的控件类都是由 CWnd类派生来的,因此,控件实际上也 是窗口。控件通常是作为对话框的子窗口 而创建的,控件也可以出现在视图窗口、 工具栏和状态栏中。控件的种类很多, Visual C++ 6.0提供的一些基本控件如 图3-3所示。
pDC->TextOut(200,200,"欢迎使 用Visual C++");
思考和习题
• 本章所介绍的控件的名称、功能和其常用 属性有哪些?
• 如何打开控件工具栏,在对话框中添加、 删除、复制和移动控件,以及如何使用控 件布局工具栏?
• 对话框应用程序的建立步骤是什么? • 创建一个借书的基本信息对话框,要求该
控件应用实例
设计一个学生个人信息登记表窗体。该范 例介绍如何在对话框中添加前面介绍的各 类控件,并将这些控件进行布局设置,组 成一个常见的学生个人信息登记表窗体。

VC6.0常用控件常用方法介绍

VC6.0常用控件常用方法介绍

nCur取值为 BST_CHECKED/BST_UNCHECKED。
4、Radio Box------------单选控件 --类 CButton
(1)默认选中第一项
m_radio.SetCheck(BST_CHECKED);
(2)选中组中任一项
CWnd::CheckRadioButton
m_list.SetItemText(nIndex, 3, s4);
m_list.SetItemText(nIndex, 4, s5);
(5)Report格式删除所有行
m_list.DeleteAllItems();
(6)Report格式获取某行某列数据
CString sID = m_list.GetItemText(行索引, 列索引);
nIDFirstButton
Specifies the integer identifier of the first radio button in the group.
nIDLastButton
Specifies the integer identifier of the last radio button in the group.
nCheck
State of the check box: 0 for clear, 1 for checked, and 2 for indeterminate.
c.获取选择
int GetCheck(int nIndex);
Parameters
nIndex
Index of the item whose check status is to be retrieved.

Visual Basic6.0常用控件对象ComboBox和ListBox缺陷的和解决方法

Visual Basic6.0常用控件对象ComboBox和ListBox缺陷的和解决方法
维普资讯 http:/
第 l卷 5
总第 s 期 8
广 东 广 播 电 视 大 学 学 报
J NA F GU I ( 、 A I &T NIE fY OI J R I O GD ) l R D O lG V U V RS
20 年第 2 06 期
生。
三、 问题 的提 出
某程序用一个 Cm o o 控件分别 用于输入 o bBx
学生 的专业 , 四个 Tx o et x控件 用 于显示 当前 输入 B
对应 的情况 。
Pve u ra b对象名一 itS 事件名( )
程序 代 码
程序中要求用户输入学生所在专业参数 , 当 用户 输入学 生 所 在专 业 后 , 程序 自动 确 定 收 费 由 情况( 见图 1。 )
N0 2.2 【 . 0) 6
Vo. 1 s m o.5 1 5 u N 8
Vsa B s 6 0常 用控 件对 象 C m o o i l ai . u c o bB x和
Ls o 陷的 和解 决 方 法 i B x缺 t
张秉才 ,廖 丽
( 肇庆广播 电视 大学,广东肇庆,564) 200
Be p e
D pr n e ama t= C ml 1 T x o  ̄ . et
【 摘要】我们在实际程序 的开发和应用中,发现 V u ac.0 ia Bs 6 常用控件对泉 Cm oo sl i o bBx的c孵 事件存在 h
的f题 ,本 文通过 实例 分析其 问题存在的原 因并给 出解 决 的办法。同 时} 出了 L t x ci 和 Cm oo q . l iB 的 ll so c c ohBx
【 收稿日期】20 —1— 7 05 0 0 【 作者简介】张秉才 (98 ) 1 一 。男,山西孝义人。肇庚广播电视大学副教授 ;廖 丽 ( 6 一) 5 1 9 。广东肇庆人。 9

cbuilder listview控件的基本用法

cbuilder listview控件的基本用法

cbuilder listview控件的基本用法ListView控件是C++ Builder中常用的列表显示控件之一,它可以用于展示大量数据,并支持多列和多行显示。

ListView控件具有丰富的功能和样式设置,可以满足各种需求。

一、导入ListView控件在使用ListView控件前,首先需要添加Ctrls单元,该单元中定义了ListView控件的相关类和接口。

二、创建ListView控件1. 使用C++ Builder的可视化设计工具拖拽一个ListView控件到窗体上;2. 在代码中使用TListView类创建控件。

三、设置ListView控件的基本属性1. 设置ViewStyle:决定ListView控件的外观样式,可以设置为vsIcon、vsSmallIcon、vsList、vsReport和vsReportStyles;2. 设置ReadOnly属性:决定用户是否可以编辑ListView中的内容;3. 设置Columns属性:可以通过添加TListColumn对象来定义ListView的列;4. 设置ColumnClick属性:决定是否支持点击列标题进行排序;5. 设置GridLines属性:决定是否显示网格线;6. 设置HideSelection属性:决定是否隐藏选中项;7. 设置MultiSelect属性:决定是否可以多选;8. 设置ShowColumnHeaders属性:决定是否显示列标题栏;9. 设置ViewStyle属性:决定ListView的外观样式。

四、添加数据到ListView控件1. 使用Items属性添加行;2. 使用SubItems属性添加行的具体数据;3. 使用Columns属性控制列数和列标题;4. 使用AddItem方法、Add方法、InsertItem方法添加数据。

五、获取和处理ListView控件的事件1. OnClick事件:当用户点击ListView控件时触发;2. OnDblClick事件:当用户双击ListView控件时触发;3. OnEditing事件:当用户开始编辑ListView的某一项时触发;4. OnEdited事件:当用户完成编辑ListView的某一项时触发;5. OnColumnClick事件:当用户点击列标题时触发,可以用于对ListView控件的行进行排序;6. OnSelectItem事件:当选中ListView控件中某一项时触发;7. OnMouseDown事件:当鼠标在ListView控件上按下时触发;8. OnMouseUp事件:当鼠标在ListView控件上弹起时触发。

MFC新控件使用方法

MFC新控件使用方法

一:syslink controls超链接控件系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:实现Syslink Control超链接的效果我们知道在VS2008中,VC里面多了syslink controls,command 、split buttons 和network address controls。

对于Syslink Control的使用,将在此介绍。

目前该控件支持带HREF和ID的锚定标记<a>,MSDN如下说明:An HREF may be of any protocol, such as http, ftp, mailto, and so on. An ID is an optional name unique within a SysLink control and associated with an individual link. Links are also assigned a zero-based index according to their position within the string. This index is used to access a link.首先:建立一个对话框工程,添加一个Syslink Control控件;然后,为控件添加CLinkCtrl类的变量,这里名称为m_Link。

在对话框初始化函数OnInitDialog()里面添加以下代码:[cpp]view plaincopy1.m_Link.SetWindowText(_T("欢迎光临<a href="/" mce_href="/""/akof1314/">无幻博客</a>"));上面代码中的格式要注意,记得转义字符的使用。

数据库基础与应用-国家开放大学电大机考网考题目答案

数据库基础与应用-国家开放大学电大机考网考题目答案

数据库基础与应用一、单选题1.利用 QL 语言所建立的视图在数据库中属于(B)A 实表B 虚表C索引D字段2.下面属于 Aecess 数据库中所含操作对象的是(B)A 文件B 宏C 索引D 视图3.设一个关系为 R(A,B,C D,E),它的最小函数依赖集为 F= 4 一→E,A→C,B 一D,D→B,则该关系的候选码为(A )A AB BC CD D4.在文件系统中,存取数据的基本单位是(A)。

A 记录B 数据项C 二进制位D学节5.在Access 中,如果只想显示表中符合条件的记录,可以使用的方法是(A) 。

A 筛选B 删除C冻结D隐藏6.在Access 中,若利用宏打开一个查询,则选择的宏操作命令是(B)。

A OpenTableB OpenQueryC OpenFormD OpenReport7.在利用计算机进行数据处理的四个发展阶段中,第三个发展阶段是(C)A 人工管理B 文件系统C 数据库系统D 分布式数据库系统8.设两个关系中分别包含有m 和n 个属性,它们具有同一个公共属性,当对它们进行等值连接时,运算结果的关系中包含的属性个数为(C)A m*nB m+n-1 Cm+nD m+n+19.在SOL 的查询语句中, group by 选项实现的功能是(D)A 选择B 求和C 排序D 分组统计10.在报表设计视图中,若需要在报表每一页的顶部都打印出相关信息,则该信息应设置在(B)A 报表页眉B 页面页眉C 主体D 页面页脚11.如果要将查询结果作为一个新表添加到数据库中,应该使用(C)A 选择查询B 追加查询C 生成表查询D 更新查询12.在Access 中,一屏不能够同时显示表中多条记录的窗体类型属于(D )。

A 数据表B 数据透视图C 数据透视表D 纵栏式13.在数据库系统中,存取数据的基本单位是(B)A 记录B 数据项C 二进制位D 字节14.如果要设计一个报表,该报表将用于标识公司的资产设备,则应将该报表设计为(D)A 标签报表B 一般报表C 交叉报表D 数据透视图报表15.如果要将查询结果添加到一个指定的数据表中,应该使用(B)A 选择查询B 追加查询C 生成表查询D 更新查询16.由概念设计进入关系数据模型的逻辑设计时,必须被转换为对应基本表的联系类型是(C) A 1 对1B 1 对多C 多对多D 多对117.设两个关系中分别包含有 m 和n 个属性,它们具有同一个公共属性,当对它们进行自然连接时,运算结果的关系中包含的属性个数为(B)。

C_教程_第6章_窗体、控件和组件

C_教程_第6章_窗体、控件和组件

窗体的创建、显示与隐藏( 6.1.2 窗体的创建、显示与隐藏(续)
3、如何隐藏一个打开的窗体 使用Form2 );创建的窗体 (1)fm.Hide( ); // 使用Form2 fm = new Form2( );创建的窗体 隐藏当前窗体: (2)隐藏当前窗体:this.Hide( ); 隐藏其它窗体: (3)隐藏其它窗体:Application.OpenForms["Form1"].Hide( ); 只能隐藏“无模式”窗体。 注:只能隐藏“无模式”窗体。 4、如何重新显示隐藏的窗体 使用Form2 );创建的窗体 (1)fm.Show( ); // 使用Form2 fm = new Form2( );创建的窗体 显示当前窗体: (2)显示当前窗体:this.Show( ); 显示其它窗体: (3)显示其它窗体:Application.OpenForms["Form1"].Show( ); 5、退出应用程序 Application.Exit( ); 执行该语句后,停止本应用程序的消息循环, 执行该语句后,停止本应用程序的消息循环,关闭本应用程序所有 打开的窗体。 打开的窗体。
窗体的创建、显示与隐藏( 6.1.2 窗体的创建、显示与隐藏(续)
6、关闭一个窗体后再显示另一个窗体 static void Main( ) { …. . //创建欢迎窗体 //创建欢迎窗体 WelcomeForm fm = new WelcomeForm( ); //以 模式” //以“模式”窗体显示 fm.ShowDialog( ); //运行主窗体 运行主窗体MainForm //运行主窗体MainForm Application.Run(new MainForm( )); }
61窗体与对话框62控件共有的基本操作63容器类控件和组件64文本操作类控件65选择操作类控件66图像操作类控件和组件67菜单工具栏与状态栏68视图操作类控件69其他常用控件1窗体应用程序的启动和停止使用application类提供的静态方法来启动停止应用程序

cmfcbutton 用法

cmfcbutton 用法

cmfcbutton 用法CMFCButton是MFC库中的一个重要控件,用于创建和编辑按钮。

在Windows应用程序开发中,CMFCButton控件常用于图形用户界面(GUI)中,为用户提供交互操作。

本篇文档将详细介绍CMFCButton的基本用法、属性和方法。

一、基本用法1.创建CMFCButton对象:在MFC应用程序中,通常在对话框或窗口类中声明CMFCButton对象。

例如,在对话框类的头文件中,可以添加如下代码:CButton*m_pButton;然后可以在类的实现文件中进行初始化。

2.设置按钮属性:使用SetStyle()和SetKind()方法设置按钮的样式和类型。

例如,将按钮设置为文字按钮,可以使用SetStyle(BS_PUSHBUTTON)和SetKind(MK_BUTTON)。

3.添加按钮消息处理函数:为按钮添加单击事件处理函数,可以使用AddWindowMessage()方法添加WM_COMMAND消息。

例如,添加WM_COMMAND消息后,需要在类中添加一个处理函数,用于处理单击事件。

1.Caption:设置按钮显示的文字。

2.Style:设置按钮的样式,包括按钮类型(pushbutton、checkbutton、dropdownbutton等)和显示方式(system-icon、custom-icon、text等)。

3.Bitmap:设置按钮显示的位图。

4.Pushed:获取或设置按钮是否被按下。

1.SetBitmap():设置按钮显示的位图。

2.SetPushButton()和SetCheckBox():设置按钮为单选框或复选框样式。

3.DrawItem()和PaintItem():重载这两个方法,自定义按钮的绘制和渲染。

4.Enable()和Disable():启用或禁用按钮。

5.SetWindowText()和GetWindowText():设置或获取按钮显示的文字。

VC++6.0控件使用方法大全

VC++6.0控件使用方法大全

使用Windows标准控件我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。

在Visual C++中,可以使用的控件分成三类:(1) Windows标准控件Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。

所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。

Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。

表6.1 Windows标准控件控件 MFC类 描述动画 CAnimateCtrl 显示连续的AVI视频剪辑按钮 CButton 用来产生某种行为的按钮,以及复选框、单选钮和组框组合框 CComboBox 编辑框和列表框的组合编辑框 CEdit 用于键入文本标题头 CHeaderCtrl 位于某一行文本之上的按钮,可用来控制显示文件的宽度热键 CHotKeyCtrl 用于通过按下某一组合键来很快的执行某些常用的操作图象列表 CImageList 一系列图象(典型情况下是一系列图标或位图)的集合。

图象列表本身不是一种控件,它常常是和其它控件一起工作,为其它控件提供所用的图象列表列表 CListCtrl 显示文本及其图标列表的窗口列表框 CListBox 包括一系列字符串的列表进度 CProgressCtrl 用于在一较长操作中提示用户所完成的进度多格式文本编辑 CRichEditCtrl 提供可设置字符和段落格式的文本编辑的窗口滚动条 CScrollBar 为对话框提供控件形式的滚动条滑块 CSliderCtrl 包括一个有可选标记的滑块的窗口旋转按钮 CSpinButtonCtrl 提供一对可用于增减某个值的箭头静态文本 CStatic 常用于为其它控件提供标签状态条 CStatusBarCtrl 用于显示状态信息的窗口,同MFC类CStatusBar类似续表6.1 控件 MFC类 描述选项卡 CTabCtrl 在选项卡对话框或属性页中提供具有类似笔记本中使用的分隔标签的外观的选项卡工具条 CToolBarCtrl 具有一系列命令生成按钮的窗口,同MFC类CToolBar类似工具提示 CToolTipCtrl 一个小的弹出式窗口,用于提供对工具条按钮或其它控件功能的简单描述树 CTreeCtrl 用于显示一系列的项的继承结构前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.1.3 控件类和控件对象
【例Ex_Member】 使用控件变量 (1)创建一个默认的对话框应用程序Ex_Member。 (2)在打开的对话框资源模板中,删除“TODO: 在这里设置对话控制。”静 态文本控件,将“确定”和“取消” 按钮向对话框左边移动一段位置,然后将鼠 标移至对话框资源模板右下角的实心蓝色方块处,拖动鼠标,将对话框资源模板的 大小缩小一些。 (3)在对话框资源模板的左边添加一个编辑框控件和一个按钮控件,保留其 默认属性,并将其布局得整齐一些,如图5.7所示。
添加IDC_BUTTON1的BN_CLICKED消息映射函数OnButton1,并添加下列代码:
void CEx_MemberDlg::OnButton1()
{
CString strEdit;
// 定义一个字符串
CEdit *pEdit = (CEdit*)GetDlgItem( IDC_EDIT1);
5.1.1 控件的创建方式
(4)在项目工作区窗口的ClassView页面中,将CEx_CreateDlg节点展开,双击
OnInitDialog函数名,在该函数中添加下列代码(在return TRUE;语句之前添加):
BOOL CEx_CreateDlg::OnInitDialog()
{
CDialog::OnInitDialog();
MessageBox(_T("这是在OnCommand处理的结果!"));
return CDialog::OnCommand(wParam, lParam);
}
5.1.3 控件类和控件对象
表5.1列出了MFC封装的常用控件类。
控件名称 静态控件
按钮
编辑框 列表框 组合框 滚动条 进展条 滑动条 旋转按钮控件 日期时间控件 图像列表
(3)单击“OK”按钮,又回到MFC ClassWizard对话框的Member Variables页面 中,在Control IDs列表中出现刚才添加的编辑框控件变量m_strEdit。选择后,将在 MFC ClassWizard对话框下方出现Maximum Characters编辑框,从中可设定该变量允 许的最大字符个数,这就是控件变量的DDV设置。填入10,如图5.10所示,然后单 击“确定”按钮,退出MFC ClassWizard对话框。
UpdateData();
// 将控件的内容存放到变量中
// 没有参数,表示使用的是默认参数值TRUE
m_strEdit.TrimLeft();
m_strEdit.TrimRight();
if (m_strEdit.IsEmpty())
m_btnWnd.SetWindowText(_T("Button1"));
else
m_btnWnd.SetWindowText(m_strEdit);
}
(5)编译并运行。
5 . 2 静态控件和按钮
5.2.1 静态控件
பைடு நூலகம்
5.2.1 静态控件
【例Ex_Etched】 制作水平蚀刻线 (1)创建一个默认的对话框应用程序Ex_Etched。 (2)在打开的对话框资源模板中,删除“TODO: 在这里设置对话控制”。静 态文本控件,将 “确定”和“取消” 按钮向对话框左边移动一段位置,然后将 鼠标移至对话框资源模板右下角的实心蓝色方块处,拖动鼠标,将对话框资源模 板的大小缩小一些。 (3)在对话框资源模板中的靠左中间位置添加一个静态图片控件,右击该 控件,从弹出的快捷菜单中选择“属性”,弹出其属性对话框。 (4)将“类型”选择为默认的“框架(Frame)”类型,将“颜色”类型选 为“蚀刻(Etched)”,然后关闭属性对话框。此时,静态图片控件变成一个蚀 刻的矩形框。
下面的示例过程: (1)将项目工作区窗口切换到ResourseView页面,双击Dialog资源下的标识
符IDD_EX_CREATE_DIALOG,打开Ex_Create项目的对话框资源模板。 (2)选中“TODO: 在这里设置对话控制。”控件,按【Delete】键删除。从
控件工具箱中拖放添加一个按钮控件,如图5.4所示,保留其默认属性。
5.1.1 控件的创建方式
从快捷菜单中选择Add Member Variable(添加成员变量),出现如图5.2所示 的对话框,在变量类型(Variable Type)编辑框中输入CButton(MFC按钮类), 在变量名称(Variable Name)编辑框中输入要定义的CButton类对象名m_btnWnd。
5.1.4 DDX和DDV
(4)将项目工作区切换到ClassView页面,展开CEx_MemberDlg类节点,双击
OnButton1成员函数节点,定位到CEx_MemberDlg::OnButton1函数实现代码处,将
代码修改如下:
void CEx_MemberDlg::OnButton1()
{
5.1.2 控件的消息及消息映射
(3)按快捷键【Ctrl+W】,打开MFC ClassWizard对话框,查看“Class name”
列表中是否选择了CEx_CreateDlg,在Object IDs列表中选择IDC_BUTTON1。
(4)单击
按钮或双击BN_CLICKED消息,出现“Add Member
列表中是否选择了CEx_CreateDlg,在Object IDs列表中选择CEx_CreateDlg,在 Messages框中找到并双击OnCommand,这样OnCommand消息函数就添加好了,如 图5.6所示。
5.1.2 控件的消息及消息映射
(2)双击消息函数OnCommand或单击
按钮,MFC ClassWizard对
WORD nID
= LOWORD(wParam);
// 控件的ID
if ((nID == 201)&&(nCode == BN_CLICKED))
MessageBox(_T("你按下了\"你好\"按钮!"));
if ((nID == IDC_BUTTON1)&&(nCode == BN_CLICKED))
5.1.3 控件类和控件对象
(4)按快捷键【Ctrl+W】,打开MFC ClassWizard对话框,并切换到Member Variables页面,查看“Class name”列表中是否选择了CEx_MemberDlg,此时可以在 Control IDs列表中看到刚才添加的控件和编辑框的标识符IDC_BUTTON1和IDC_EDIT1。
pEdit->GetWindowText( strEdit );
// 获取编辑框中的内容
strEdit.TrimLeft();
strEdit.TrimRight();
if (strEdit.IsEmpty())
m_btnWnd.SetWindowText(_T("Button1"));
else
m_btnWnd.SetWindowText(strEdit);
Function”对话框,在这里可以输入成员函数的名称,系统默认的函数名为
OnButton1,如图5.5所示。
5.1.2 控件的消息及消息映射
(5)双击消息函数OnButton1或单击
按钮,MFC ClassWizard对
话框退出,并转向文档窗口,定位到CEx_CreateDlg::OnButton1函数实现的源代码
(5)在Control IDs列表中,选定按钮控件标识符IDC_BUTTON1,双击鼠标左键 或单击 按钮,弹出Add Member Variable对话框,如图5.8所示。
5.1.3 控件类和控件对象
(6)在Member variable name框中填好与控件相关联的成员变量m_btnWnd,
类似于一个笔记本的分隔器或一个文件柜上的标签,使用它可 以将一个窗口或对话框的相同区域定义为多个页面
5.1.3 控件类和控件对象
在MFC中,获取一个控件的类对象指针是通过CWnd类的成员函数GetDlgItem来 实现的,它具有下列原型:
CWnd* GetDlgItem( int nID ) const; void GetDlgItem( int nID, HWND* phWnd) const;
标签控件
MFC类 CStatic
CButton
CEdit CListBox CComboBox CScrollBar CProgressCtrl CSliderCtrl CSpinButtonCtrl CDateTimeCtrl CImageList
CTabCtrl
功能描述 用来显示一些几乎固定不变的文字或图形
用来产生某些命令或改变某些选项,包括单选按钮、复选框和 组合框
用于完成文本和数字的输入和编辑 显示一个列表,让用户从中选取一个或多个项 是一个列表框和编辑框组合的控件 通过滚动块在滚动条上的移动和滚动按钮来改变某些量 用来表示一个操作的进度 通过滑动块的移动来改变某些量,并带有刻度指示 带有一对反向箭头的按钮,单击这对按钮可增大或减小某个值 用于选择指定的日期和时间 一个具有相同大小的图标或位图的集合
//…
m_btnWnd.Create("你好", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | WS_TABSTOP,
CRect(20, 20, 120, 40), this, 201);
// 创建
CFont *font = this->GetFont();
// 获取对话框的字体
m_btnWnd.SetFont(font);
// 设置控件字体
return TRUE; // return TRUE unless you set the focus to a control
相关文档
最新文档