最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用dc畫筆畫矩形、直線與橢圓示例

 更新時(shí)間:2014年04月27日 11:35:23   作者:  
這篇文章主要介紹了使用dc畫筆畫矩形、直線與橢圓示例,需要的朋友可以參考下

WindowDraw.cpp

復(fù)制代碼 代碼如下:

/*簡(jiǎn)單的使用dc畫筆畫出直線,矩形,橢圓*/
#include<Windows.h>
#include<tchar.h>
//聲明窗口函數(shù)
LRESULT CALLBACK WindowProc (
       HWND hwnd,
       UINT uMsg,
       WPARAM wParam,
       LPARAM lParam
       );
//入口函數(shù)WinMain
int WINAPI WinMain(
     HINSTANCE hInstance,
     HINSTANCE hPrevInstance,
     LPSTR lpCmdLine,
     int nCmdShow
     )
{
 //定義窗口類
 WNDCLASS wndclass;
 wndclass.lpfnWndProc=WindowProc;//指定窗口函數(shù)
 wndclass.cbClsExtra=0;
 wndclass.cbWndExtra=0;
 wndclass.style=CS_HREDRAW|CS_VREDRAW;
 wndclass.lpszClassName=_T("我的窗體");
 wndclass.hInstance=hInstance;
 wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//獲取標(biāo)準(zhǔn)鼠標(biāo)光標(biāo)
 wndclass.hIcon=0;
 wndclass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
 wndclass.lpszMenuName=0;
 //注冊(cè)窗口類
 if(RegisterClass(&wndclass)==0)
 {
  MessageBox(0,_T("注冊(cè)窗口類失敗"),_T("我的窗體"),MB_OK);
  return 0;
 }
 //創(chuàng)建窗體實(shí)列
 HWND hWnd = CreateWindow(_T("我的窗體"),_T("窗體繪圖"),WS_OVERLAPPEDWINDOW,100,100,500,400,0,0,hInstance,0);
 //顯示和更新窗體
 ShowWindow(hWnd,SW_SHOW);
 UpdateWindow(hWnd);
 //消息循環(huán)
 MSG msg;
  while(GetMessage(&msg,0,0,0))
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
   }
  return 0;
}
//定義窗口函數(shù)
LRESULT CALLBACK WindowProc (
       HWND hwnd,
       UINT uMsg,
       WPARAM wParam,
       LPARAM lParam
       )
{
 switch(uMsg)
 {
 case WM_PAINT://響應(yīng)繪圖消息
  {
   PAINTSTRUCT ps;
   //獲得DC
   HDC hDC = BeginPaint(hwnd,&ps);
   //創(chuàng)建實(shí)線,寬度為1,紅色的筆
   HPEN hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));
   //將筆選入DC
   HPEN hOldPen=(HPEN)SelectObject(hDC,hPen);
   //繪制紅色的直線
   MoveToEx(hDC,10,10,NULL);
   LineTo(hDC,90,50);
   //創(chuàng)建一個(gè)藍(lán)色的刷子
   HBRUSH hBrush = CreateSolidBrush(RGB(0,0,255));
   HBRUSH hOldBrush= (HBRUSH)SelectObject(hDC,hBrush);
   //繪制矩形,因?yàn)楣P沒有換,所以繪制的是紅色邊框,藍(lán)色區(qū)域的矩形
   Rectangle(hDC,100,100,200,170);
   //繪制橢圓,因?yàn)楣P和刷子都沒換,所以繪制的是紅色的邊框,藍(lán)色區(qū)域的橢圓
   Ellipse(hDC,200,230,260,300);
   //輸出文字
   TextOut(hDC,200,30,_T("繪圖測(cè)試"),4);
   //恢復(fù)繪圖對(duì)象
   SelectObject(hDC,hOldPen);
   SelectObject(hDC,hOldBrush);
   //刪除繪圖對(duì)象
   DeleteObject(hPen);
   DeleteObject(hBrush);
   //釋放DC
   EndPaint(hwnd,&ps);

  }
  break;
 case WM_CLOSE:
  PostQuitMessage(0);
  break;
 default:
  return DefWindowProc(hwnd,uMsg,wParam,lParam);
  }
 return 0;
}

相關(guān)文章

  • C語言實(shí)現(xiàn)餐廳點(diǎn)餐系統(tǒng)

    C語言實(shí)現(xiàn)餐廳點(diǎn)餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)餐廳點(diǎn)餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷

    C語言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之線索二叉樹及其遍歷的相關(guān)資料,為了加快查找節(jié)點(diǎn)的前驅(qū)和后繼。對(duì)二叉樹的線索化就是對(duì)二叉樹進(jìn)行一次遍歷,在遍歷的過程中檢測(cè)節(jié)點(diǎn)的左右指針是否為空,如果是空,則將他們改為指向前驅(qū)和后繼節(jié)點(diǎn)的線索,需要的朋友可以參考下
    2017-08-08
  • C++實(shí)現(xiàn)簡(jiǎn)易的五子棋小游戲

    C++實(shí)現(xiàn)簡(jiǎn)易的五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)易的五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 從C++單例模式到線程安全詳解

    從C++單例模式到線程安全詳解

    下面小編就為大家?guī)硪黄獜腃++單例模式到線程安全詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • C++實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)的示例代碼

    C++實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)的示例代碼

    停車場(chǎng)管理系統(tǒng)就是模擬停車場(chǎng)進(jìn)行車輛管理的系統(tǒng),該系統(tǒng)分為汽車信息模塊,用戶使用模塊和管理員用戶模塊,本文將用C++實(shí)現(xiàn)這一簡(jiǎn)單的系統(tǒng),希望對(duì)大家有所幫助
    2023-04-04
  • C語言超詳細(xì)文件操作基礎(chǔ)下篇

    C語言超詳細(xì)文件操作基礎(chǔ)下篇

    這篇文章主要為大家詳細(xì)介紹了C語言的文件操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • c語言實(shí)現(xiàn)一個(gè)簡(jiǎn)單日歷

    c語言實(shí)現(xiàn)一個(gè)簡(jiǎn)單日歷

    本文給大家分享的是一則使用C語言來實(shí)現(xiàn)的一個(gè)簡(jiǎn)單日歷的代碼,根據(jù)項(xiàng)目需求,實(shí)現(xiàn)了3個(gè)簡(jiǎn)單的小功能,推薦給大家,有需要的小伙伴可以參考下。
    2015-03-03
  • C++?Boost?CircularBuffer算法超詳細(xì)精講

    C++?Boost?CircularBuffer算法超詳細(xì)精講

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個(gè)可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-11-11
  • 使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作

    使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作

    這篇文章給大家介紹了使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • C語言中定義與聲明有哪些區(qū)別

    C語言中定義與聲明有哪些區(qū)別

    在C/C++中有一個(gè)基礎(chǔ)且重要的知識(shí),什么是聲明?什么是定義?他們的區(qū)別是什么?本文將帶你理清其中的區(qū)別
    2022-07-07

最新評(píng)論

福贡县| 达拉特旗| 邹城市| 淮滨县| 黄冈市| 湄潭县| 长治市| 将乐县| 永春县| 陕西省| 四平市| 靖安县| 西乌珠穆沁旗| 怀安县| 宁国市| 疏附县| 会宁县| 墨玉县| 华坪县| 盐边县| 托里县| 台中市| 鲜城| 响水县| 行唐县| 湛江市| 珠海市| 扎赉特旗| 金山区| 贺州市| 南郑县| 苏尼特左旗| 日照市| 三亚市| 元阳县| 呈贡县| 墨江| 河东区| 宁蒗| 宝鸡市| 大洼县|