MFC checkbox控件响应函数

MFC checkbox控件响应函数,第1张

先要在DataExchange函数里确保变量已经关联上。

Updatedata( )调用时,参数如果是TRUE,则值从控件更新到变量,如果是FALSE,值从变量更新到控件。

如单击了check box控件后,控件会自己在选中与不选中间切换,但是变量值还没有变,所以在响应函数里要调用Updatedata(TRUE);才能让关联变量的值改变,就不用再代码m_bcheck= !m_bcheck;了。

而如果在代码里改了关联变量的值,想要更新到控件的显示上,就要调用Updatedata(FALSE);

1、DECLARE_MESSAGE_MAP()前添加afx_msg void OnLButtonDown(UINT nFlags, CPoint point);

2、BEGIN_MESSAGE_MAPEND_MESSAGE_MAP中加入

ON_WM_LBUTTONDOWN()

3、在OnLButtonDown函数中添加你的代码

MFC 用 CDC 类的 Pie 函数 就可画饼。

函数原型:

CDC::Pie

BOOL Pie( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 );

[x1,y1][x2,y2] 是圆的外切正方形左上角,右下角坐标。

[x3,y3][x4,y4] 是饼图 起点,终点坐标

BOOL Pie( LPCRECT lpRect, POINT ptStart, POINT ptEnd );

lpRect -- 是圆的外切正方形

ptStart, ptEnd -- 起点,终点

------------------------------

在 CXxxView 的 OnDraw() 里画。

这是VC++带的例子,画3/4 个饼

涂饼的颜色,花纹用 笔和刷子函数定。

void CCurvesView::OnDraw(CDC pDC)

{

// Get the client area

CRect rectClient;

GetClientRect(rectClient);

// Make a couple of pens and similar brushes

CPen penBlue, penRed;

CBrush brushBlue, brushRed;

CBrush pOldBrush;

CPen pOldPen;

brushBlueCreateSolidBrush(RGB(0, 0, 255));

brushRedCreateHatchBrush(HS_FDIAGONAL, RGB(255, 0, 0));

penBlueCreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));

penRedCreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));

// Draw from 3 o'clock to 6 o'clock, counterclockwise,

// in a blue pen with a solid blue fill

pOldPen = pDC->SelectObject(&penBlue);

pOldBrush = pDC->SelectObject(&brushBlue);

pDC->Pie(rectClient,

CPoint(rectClientright, rectClientCenterPoint()y),

CPoint(rectClientCenterPoint()x, rectClientright));

// Draw the remaining quarter slice from 6 o'clock

// to 3 o'clock, counterclockwise, in a red pen with

// the hatched brush

pDC->SelectObject(&penRed);

pDC->SelectObject(&brushRed);

// Same parameters, but reverse start and end points

pDC->Pie(rectClient,

CPoint(rectClientCenterPoint()x, rectClientright),

CPoint(rectClientright, rectClientCenterPoint()y));

// Restore the previous pen

pDC->SelectObject(pOldPen);

}

采用可视化界面添加的BUTTON按钮的话,一般来说双击该控件就可以添加时间响应函数,如果双击不管用,还可以右键该控件选择 add event handler就会进入添加响应函数的编辑框,选择响应的消息响应函数。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/12458877.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存