[VC6] RadioBox使用入门

基于对话框的应用程序,界面如下:


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

具体请参考代码:


关键代码:

// del2Dlg.cpp : implementation file
//#include "stdafx.h"
#include "del2.h"
#include "del2Dlg.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif/
// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog
{
public:CAboutDlg();// Dialog Data//{{AFX_DATA(CAboutDlg)enum { IDD = IDD_ABOUTBOX };//}}AFX_DATA// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support//}}AFX_VIRTUAL// Implementation
protected://{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()
};CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT
}void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP
}BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)//{{AFX_MSG_MAP(CAboutDlg)// No message handlers//}}AFX_MSG_MAP
END_MESSAGE_MAP()/
// CDel2Dlg dialogCDel2Dlg::CDel2Dlg(CWnd* pParent /*=NULL*/): CDialog(CDel2Dlg::IDD, pParent)
{//{{AFX_DATA_INIT(CDel2Dlg)m_g1 = -1;m_g2 = -1;//}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}void CDel2Dlg::DoDataExchange(CDataExchange* pDX)
{CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CDel2Dlg)DDX_Radio(pDX, IDC_RADIO1, m_g1);DDX_Radio(pDX, IDC_RADIO5, m_g2);//}}AFX_DATA_MAP
}BEGIN_MESSAGE_MAP(CDel2Dlg, CDialog)//{{AFX_MSG_MAP(CDel2Dlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_BN_CLICKED(IDC_BUTTON2, OnButton2)//}}AFX_MSG_MAP
END_MESSAGE_MAP()/
// CDel2Dlg message handlersBOOL CDel2Dlg::OnInitDialog()
{CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// Set the icon for this dialog.  The framework does this automatically//  when the application's main window is not a dialogSetIcon(m_hIcon, TRUE);			// Set big iconSetIcon(m_hIcon, FALSE);		// Set small iconCheckRadioButton(IDC_RADIO1, IDC_RADIO4, m_g1);CheckRadioButton(IDC_RADIO5, IDC_RADIO7, m_g2);return TRUE;  // return TRUE  unless you set the focus to a control
}void CDel2Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}
}// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.void CDel2Dlg::OnPaint() 
{if (IsIconic()){CPaintDC dc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// Draw the icondc.DrawIcon(x, y, m_hIcon);}else{CDialog::OnPaint();}
}// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CDel2Dlg::OnQueryDragIcon()
{return (HCURSOR) m_hIcon;
}void CDel2Dlg::SetCheckedControl(int& g, int ctrlId)
{g = ctrlId;UpdateData(FALSE);
}void CDel2Dlg::OnButton1() 
{SetCheckedControl(m_g1, -1);SetCheckedControl(m_g2, -1);
}void CDel2Dlg::OnButton2()
{CString msg;UpdateData();msg.Format("group1=%d, group2=%d", m_g1, m_g2);MessageBox(msg);
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树莓派使用STEP1:装系统

1、windows安装SD卡格式化软件&#xff1a;SDFormatter.exe 2、windows安装系统烧录软件Win32DiskImager.exe 3、下载镜像&#xff1a;https://www.raspberrypi.org/downloads/raspbian/ 并解压缩 4、用Win32DiskImager将下载的镜像文件烧录进SD卡。 5、插上SD到树莓派&…

css实现文字过长省略显示

.simpleName {width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }<div class"simpleName"><a target"_blank" href"">文本</a></div> 1、width:超高110px部分省略显示。 2、white-space:now…

PAL/NTSC/SECAM,这是全球现行的三种模拟技术彩色电视的制式

From: http://zhidao.baidu.com/question/443746422.html PAL&#xff0c;NTSC&#xff0c;还有SECAM&#xff0c;这是全球现行的三种模拟技术彩色电视的制式。NTSC&#xff08;National Television System Committee&#xff09;制是最早的彩电制式&#xff0c;1952年由美国国…

V4L2

前言&#xff1a;目前正在忙于ARM平台的Linux应用程序的开发&#xff08;其实是刚刚起步学习啦&#xff09;。底层的东西不用考虑了&#xff0c;开发板子提供了NAND Bootloader&#xff0c;和Linux 2.6的源码&#xff0c;而且都编译好了。自己编译的bootloader可以用&#xff0…

天龙2 场景地图人物 方向箭头 方法

打开天龙2场景地图&#xff0c;会有一个小箭头的图片&#xff0c;代表人物位置和方向&#xff0c;方向的做法是&#xff1a; 1 生成360度方向的一些图片&#xff08;数量可根据情况而定&#xff09; 2 计算角色的方向&#xff0c;从第一步生成的图片里面取一张&#xff0c;贴到…

[react] 说说你对Relay的理解

[react] 说说你对Relay的理解 Relay是Facebook在React.js Conf&#xff08;2015年1月&#xff09;上首次公开的一个新框架&#xff0c;用于为React应用处理数据层问题。 在Relay中&#xff0c;每个组件都使用一种叫做GraphQL的查询语句声明对数据的依赖。组件可以使用 this.p…

树莓派使用STEP2:设置网络

安装好系统并开机&#xff0c;插入鼠标键盘和显示器&#xff0c;登陆系统&#xff0c;打开终端。按以下操作。 1、sudo raspi-config 进入配置&#xff0c;打开SSH功能。 Interfacing Options -> SSH 2、扩展系统内存。 Advanced options -> Expand Filesystem 3、设置…

HDU5187 zhx#39;s contest(计数问题)

主题链接&#xff1a; http://acm.hdu.edu.cn/showproblem.php?pid5187 题意&#xff1a; 从1~n&#xff0c;有多少种排列 使得 a1~ai 满足单调递增或者单调递减。ai~an 满足单调递增或者递减。 非常明显的组合问题 从n个数种选出i个数 剩下的数要满足单调递增或者递减或者递…

文件指针和文件描述符之间的相互转换 fd----fp 和 fp----fd

From: http://blog.163.com/xychenbaihuyeah/blog/static/1322296552011625112831213/ 文件指针---->文件描述符: // fp ----> fd FILE *fp NULL; fp fopen("/home/billchen/test.txt","r"); //得到…

linux3.0-内核自带led驱动移植

********************************************************************************************************************************************************************************** cpu : s3c2440(arm9) linux内核&#xff1a;linux-3.0 开发板 &am…

树莓派使用STEP3:更换镜像源

更换国内镜像源&#xff0c;这里使用中科大的源&#xff0c;软件下载和更新速度更快。 1、sudo nano /etc/apt/sources.list 2、sudo nano /etc/apt/sources.list.d/raspi.list 3、sudo apt-get update && apt-get upgrade

[react] 在React中你有经常使用常量吗?

[react] 在React中你有经常使用常量吗&#xff1f; 在写react应用的时候&#xff0c;在结合redux 处理react 应用层中的数据层的时候, 会单独写一个actionType文件&#xff0c;这个文件中定义的都是常量&#xff0c;这样写的好处是&#xff0c;单纯的引入字符串内容&#xff0…

深入理解Javascript闭包

收藏 最近在网上查阅了不少Javascript闭包(closure)相关的资料&#xff0c;写的大多是非常的学术和专业。对于初学者来说别说理解闭包了&#xff0c;就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。 一、什么是闭包&#xff1f; “官…

移动Oracle的用户表空间文件方法

原文&#xff1a;http://www.linuxidc.com/Linux/2014-07/104702.htm 1、以sys用户登录 sqlplus /nologSQL>connect sys/null as sysdba; 2、使表空间脱机SQL>alter tablespace TABS offline normal; 3、将表空间数据文件复制到比较空闲的磁盘 4、修改表空间文件指…

bash删除文件中含指定内容的行

#!/bin/sh # 功能: 删除文件中含"指定内容"的行 # 运行方式: ./dline.sh c.log > 产生输出文件: c.log0array("rm -f lvr_3531_pf_new""arm-hisiv100-linux-gcc ""In function ""excess elements in array initializer"…

四线电阻屏

http://www.cnblogs.com/liu_xf/archive/2011/05/11/2043550.html

树莓派使用STEP4:安装vim

系统原装的vi操作对新手和学习者不友好&#xff0c;可以用nano编辑器&#xff0c;因为我比较熟悉vi和vim&#xff0c;这里推荐使用vim。首先需要删除原装的vi&#xff0c;然后重新安装新的vim&#xff0c;过程比较简单。 1、卸载预装的vi sudo apt-get remove vim-common 2、…

[WCF安全系列]绑定、安全模式与客户端凭证类型:NetNamedPipeBinding、NetTcpBinding与NetMsmqBinding...

在前面两篇&#xff08;《绑定、安全模式与客户端凭证类型&#xff1a;BasicHttpBinding》和《绑定、安全模式与客户端凭证类型&#xff1a;WSHttpBinding与WSDualHttpBinding》&#xff09;中&#xff0c;我们详细地介绍了四种基于HTTP的绑定分别支持的安全模式&#xff0c;已…

手机测试pc端网页

在这个问题上徘徊了 一个钟头了&#xff0c;终于被我找到方法了&#xff0c;就赶紧记下来&#xff0c;以后好查阅&#xff01;&#xff01; 主要问题在防火墙&#xff0c;防火墙阻当了80端口&#xff0c;所以怎么用手机访问都是访问不了的。把防火墙关闭就好了&#xff01; 贴上…

[react] 为什么说React中的props是只读的?

[react] 为什么说React中的props是只读的&#xff1f; React 组件都必须像纯函数一样保护它们的 props 不被更改。 将react组件理解成纯函数,数据流驱动,参数传入不允许做更改 扩展 : state内容可以更改,但是不允许直接赋值,需要借助setState props用于定义外部接口&#xff0c…