win32强化练习2.2_单选与复选控件

C-Free对话框控件实践
本文介绍如何使用C-Free的对话框编辑器创建简单的图形界面应用,通过单选按钮和复选框控制编辑框显示的文本内容,实现对形状和颜色的选择。

在C-FREE(IDE)的对话框编辑器(菜单-->工具-->对话框编辑器)中,有几个基本的控件:


这一节练习单选和复选+编辑框。暂时先不把画图的功能放进去,而是用编辑框来显示我们对圆或矩形的选择和颜色的勾选:


主要的练习是:

1. 单选其实就是按钮,点击相当于按钮被点击;

2. 复选主要是得到它的状态,是否被勾选,我们加入头文件#include <windowsX.h>之后,用宏来简化SendMessage(1,2,3,4)的操作;

3. 由于我们会将复选控件当做窗口来控制,需要声明全局变量,并在initDialog中用GetDlgItem进行定义;

4. 将需要显示的文本放到编辑框中去显示。

HWND hCheck1,hCheck2; //复选1,2 

    // Add initializing code here
    //
    hCheck1 = GetDlgItem(hwnd, IDC_CHECK_RED);
	hCheck2 = GetDlgItem(hwnd, IDC_CHECK_BLUE);

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
	int iRed, iBlue;
	CHAR str[MAX_PATH] = {"Now Drawing "};
	iRed = Button_GetCheck(hCheck1);
	iBlue = Button_GetCheck(hCheck2);
    switch(id)
    {
        case IDC_RADIO_RECT:
        {
        	strcat(str,"Rectangle ");
        	if (iRed) strcat(str, "RED ");
        	if (iBlue) strcat (str, "BLUE ");
        	SetDlgItemText(hwnd, IDC_EDIT1, str);	
        }
        break;
        case IDC_RADIO_CIRCLE:
        {
        	strcat(str,"Circle ");
        	if (iRed) strcat(str, "RED ");
        	if (iBlue) strcat (str, "BLUE ");
        	SetDlgItemText(hwnd, IDC_EDIT1, str);	
        }
        break;
        default:break;
    }
}

这个练习后面和HDC绘图结合,实现画方画圆+颜色选择的功能;当前除去界面制作,程序编写本身应该控制在3分钟内完成。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值