首页 > 代码库 > 进程、线程亲缘性和画笔CPen

进程、线程亲缘性和画笔CPen

l         进程亲缘性

l         线程亲缘性

l         画笔CPen

 

一、进程线程亲缘性

 SetProcessAffinityMask  //设置进程 可以使用的CPU

 SetThreadAffinityMask  //设置进程 可以使用的CPU

 

void CDialog_Thread_Priority_test::OnBnClickedButton5()

{

         // TODO: 在此添加控件通知处理程序代码

         HANDLE ph=GetCurrentProcess();

         SetProcessAffinityMask(ph,1);

         CloseHandle(ph);

}

 

二、画笔CPen

CPen::CPen

CPen( int nPenStyle, int nWidth, COLORREF crColor );

nPenStyle://画笔样式

PS_SOLID  实线

PS_DOT    虚线

 

 

void CDialog_Thread_Priority_test::DrawRect(UINT edt_ID, UINT* pWidth)

{

         CRect r1,r2,r3;

         GetWindowRect(&r1);//主窗口矩形坐标

 

         GetDlgItem(edt_ID)->GetWindowRect(&r2);//控件屏幕坐标

    //转换坐标

    int x,y;

         x=r2.left-r1.left;

         y=r2.top-r1.top;

         int width,height;

         height=r2.bottom-r2.top;//取得控件高度

         width=r2.right-r2.left;//取得控件宽度

        

         r3.left=x+width+2;//x1

         r3.top=y; //y1

         r3.right=r3.left+*pWidth;//x2

         r3.bottom=r3.top+height;//y2

         CDC *pdc=GetWindowDC();

         CPen pen(PS_DOT,1,RGB(255,222,0));

         CPen *oldpen=pdc->SelectObject(&pen);

         pdc->Rectangle(r3);

         pdc->SelectObject(oldpen);

        

         ReleaseDC(pdc);

}