zoukankan      html  css  js  c++  java
  • VC 在桌面上绘制一些图形

    注意:这是在桌面上绘制图形。如果想在VC++ MFC工程的视窗口上绘制图形。可以这么来,在工程View类的一个菜单响应(或者鼠标单击等事件的的响应)函数中添加下面main 中的代码,只需要将“红色字体”的改正为“hWnd”或者“this”.读者可以试一下。

    #include<windows.h>
    int main( void )
    {
         HDC hdc = GetWindowDC(GetDesktopWindow());  // 获取一个可供画图的DC,我这里就直接用桌面算了

         HPEN hpen1 = CreatePen( PS_SOLID, 1, RGB(255,0,0) ); // 创建红色1像素宽度的实线画笔
         //创建绿色5像素宽度的破折画笔,如果你想创建其他种类的画笔请参阅MSDN
         HPEN hpen2 = CreatePen( PS_DASH, 5, RGB(0,255,0) );
         HBRUSH hbrush1 = CreateSolidBrush( RGB(0,0,255) );     // 创建一个实体蓝色画刷

         HBRUSH hbrush2 = (HBRUSH)GetStockObject( NULL_BRUSH );// 创造一个透明的画刷


         // 将hpen1和hbrush1选进HDC,并保存HDC原来的画笔和画刷
         HPEN hpen_old = (HPEN)SelectObject( hdc, hpen1 );
         HBRUSH hbrush_old = (HBRUSH)SelectObject( hdc, hbrush1 );

         Rectangle( hdc, 40, 30, 40+200, 30+50 );// 在(40,30)处画一个宽200像素,高50像素的矩形
         SelectObject( hdc, hpen2 );  // 换hpen1和hbrush1,然后在(40,100)处也画一个矩形,看看有何差别
         SelectObject( hdc, hbrush2 );
         Rectangle( hdc, 40, 100, 40+200, 100+50 );

         
         Ellipse( hdc, 40, 200, 40+200, 200+50 );// 画个椭圆看看
         MoveToEx( hdc, 0, 600, NULL );// 画个(0,600)到(800,0)的直线看看
         LineTo( hdc, 800, 0 );
         SetPixel( hdc, 700, 500, RGB(255,255,0) );// 在(700,500)处画个黄点,不过这个点只有一像素大小,你细细的看才能找到

        // 恢复原来的画笔和画刷
         SelectObject( hdc, hpen_old ); 
         SelectObject( hdc, hbrush_old );

         return 0;
    }

    搬家于 CSDN 2015-05-14

  • 相关阅读:
    api接口统一管理
    axios封装
    事件监听和事件模型
    W3C标准
    Redis安装(PHPredis服务+windows的redis环境)
    Redis介绍
    jQuery ajax方法小结
    博客园鼠标特效
    PHP---截取七牛地址中的文件名
    jQuery---显示和隐藏
  • 原文地址:https://www.cnblogs.com/arxive/p/11748166.html
Copyright © 2011-2022 走看看