- 2024-03-15LInux 进程替换(理解接口)
目录一、替换原理二、替换函数1、exec函数2、命名理解3、返回值4、使用execl/lp、execv/vp5、执行自定义命令Makefile编译多个文件命令行程序mycmd.c传入自己的可执行文件7、子进程都继承父进程环境变量8、execle/ve修改子进程环境变量9、exece函数为exec系列函数
- 2023-12-10MFC对话框显示时背景闪烁
在显示一个对话框时,可以在WM_PAINT消息处理函数中绘制窗口的背景色。但会出现一种情况,在还未执行完OnPaint函数,对话框已经先显示出白色窗体,如下:还未绘制窗体,背景色先被显示。解决办法:1、添加WM_CTLCOLOR消息。2、在消息响应函数中添加如下代码:1HBRUSHCZGDlg::OnCtlColor
- 2023-05-16GDI-ExtSelectClipRgn将指定区域与当前剪辑区域组合在一起
HRGNhrgn1;HRGNhrgn;HRGNhrgn2;HRGNhrgn3;HDChdc;HBRUSHhbr;voidCGdiPlusDlg::OnBnClickedButton10(){hdc=::GetDC(m_hWnd);hrgn1=CreateRectRgn(10,10,200,200);//创建矩形区域intn=SelectClipRgn(hdc,hrgn1);//选择剪切区域
- 2023-05-15GDI-FillRgn用画刷填充区域
HRGNhrgn1=CreateRectRgn(10,10,100,100);//创建矩形区域HRGNhrgn2=CreateEllipticRgn(150,150,250,250);//创建椭圆区域HRGNhrgn=CreateRectRgn(0,0,0,0);intn1=::CombineRgn(hrgn,hrgn1,hrgn2,RGN_OR);//将两个区域组
- 2023-05-15GDI-CombineRgn将两个区域组合为一个新区域
HRGNhrgn1=CreateRectRgn(10,10,100,100);//创建矩形区域HRGNhrgn2=CreateEllipticRgn(150,150,250,250);//创建椭圆区域HRGNhrgn=CreateRectRgn(0,0,0,0);intn1=::CombineRgn(hrgn,hrgn1,hrgn2,RGN_OR);//将两个区域组合为
- 2023-04-16MFC-IntersectRect获得两个矩形的交集部分
HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};RECTrect1={50,50,150,150};RECTrect2;HBRUSHhbr;hbr=CreateSolidBrush(RGB(0,0,255));SelectObject(hdc,hbr);intf=FrameRect(hdc,&rect,hbr);
- 2023-04-16MFC-UnionRect获得两个矩形的并集部分
HDChdc=::GetDC(m_hWnd);RECTrect={10,10,100,100};RECTrect1={50,50,150,150};RECTrect2;HBRUSHhbr;hbr=CreateSolidBrush(RGB(0,0,255));SelectObject(hdc,hbr);intf=FrameRect(hdc,&rect,hbr)
- 2023-04-10MFC-FrameRect绘制矩形边框
HDChdc=::GetDC(m_hWnd);RECTrect={10,10,50,100};HBRUSHhbr;hbr=CreateSolidBrush(RGB(255,0,0));intf=FrameRect(hdc,&rect,hbr);//绘制矩形边框/*参数1:HDChdc将要画边框的设备环境句柄参数2:CONSTRECT
- 2023-04-10MFC-FillRect绘制并填充矩形
HDChdc=::GetDC(m_hWnd);RECTrect={10,10,50,100};HBRUSHhbr;hbr=CreateSolidBrush(RGB(255,0,0));SelectObject(hdc,hbr);intf=FillRect(hdc,&rect,hbr);//绘制并填充矩形/*用指定的画刷填充矩形,此函数包