亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? grays2.c

?? widows編程例題程序13-18章
?? C
字號:
/*-----------------------------------------------
   GRAYS2.C -- Gray Shades Using Palette Manager
               (c) Charles Petzold, 1998
  -----------------------------------------------*/

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static TCHAR szAppName[] = TEXT ("Grays2") ;
     HWND         hwnd ;
     MSG          msg ;
     WNDCLASS     wndclass ;

     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;

     if (!RegisterClass (&wndclass))
     {
          MessageBox (NULL, TEXT ("This program requires Windows NT!"), 
                      szAppName, MB_ICONERROR) ;
          return 0 ;
     }
     
     hwnd = CreateWindow (szAppName, TEXT ("Shades of Gray #2"),
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          CW_USEDEFAULT, CW_USEDEFAULT,             
                          NULL, NULL, hInstance, NULL) ;
     
     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;
     
     while (GetMessage (&msg, NULL, 0, 0))
     {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
     }
     return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     static HPALETTE hPalette ;
     static int      cxClient, cyClient ;
     HBRUSH          hBrush ;
     HDC             hdc ;
     int             i ;
     LOGPALETTE    * plp ;
     PAINTSTRUCT     ps ;
     RECT            rect ;
     
     switch (message)
     {
     case WM_CREATE:
               // Set up a LOGPALETTE structure and create a palette

          plp = malloc (sizeof (LOGPALETTE) + 64 * sizeof (PALETTEENTRY)) ;

          plp->palVersion    = 0x0300 ;
          plp->palNumEntries = 65 ;

          for (i = 0 ; i < 65 ; i++)
          {
               plp->palPalEntry[i].peRed   = (BYTE) min (255, 4 * i) ;
               plp->palPalEntry[i].peGreen = (BYTE) min (255, 4 * i) ;
               plp->palPalEntry[i].peBlue  = (BYTE) min (255, 4 * i) ;
               plp->palPalEntry[i].peFlags = 0 ;
          }
          hPalette = CreatePalette (plp) ;
          free (plp) ;
          return 0 ;

     case WM_SIZE:
          cxClient = LOWORD (lParam) ;
          cyClient = HIWORD (lParam) ;
          return 0 ;
          
     case WM_PAINT:
          hdc = BeginPaint (hwnd, &ps) ;

               // Select and realize the palette in the device context

          SelectPalette (hdc, hPalette, FALSE) ;
          RealizePalette (hdc) ;

               // Draw the fountain of grays

          for (i = 0 ; i < 65 ; i++)
          {
               rect.left   = i * cxClient / 64 ;
               rect.top    = 0 ;
               rect.right  = (i + 1) * cxClient / 64 ;
               rect.bottom = cyClient ;

               hBrush = CreateSolidBrush (PALETTERGB (min (255, 4 * i), 
                                                      min (255, 4 * i), 
                                                      min (255, 4 * i))) ;
               FillRect (hdc, &rect, hBrush) ;
               DeleteObject (hBrush) ;
          }
          EndPaint (hwnd, &ps) ;
          return 0 ;

     case WM_QUERYNEWPALETTE:
          if (!hPalette)
               return FALSE ;

          hdc = GetDC (hwnd) ;
          SelectPalette (hdc, hPalette, FALSE) ;
          RealizePalette (hdc) ;
          InvalidateRect (hwnd, NULL, TRUE) ;

          ReleaseDC (hwnd, hdc) ;
          return TRUE ;

     case WM_PALETTECHANGED:
          if (!hPalette || (HWND) wParam == hwnd)
               break ;

          hdc = GetDC (hwnd) ;
          SelectPalette (hdc, hPalette, FALSE) ;
          RealizePalette (hdc) ;
          UpdateColors (hdc) ;

          ReleaseDC (hwnd, hdc) ;
          break ;

     case WM_DESTROY:
          DeleteObject (hPalette) ;
          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲愉拍自拍另类高清精品| 日韩欧美成人激情| jizz一区二区| 色999日韩国产欧美一区二区| 99精品欧美一区| 欧美日免费三级在线| 欧美另类一区二区三区| 欧美成va人片在线观看| 国产日韩欧美a| 一区二区在线观看不卡| 日韩av网站在线观看| 国产成人一级电影| 在线亚洲+欧美+日本专区| 欧美一区二区精美| 亚洲色欲色欲www| 久久国产视频网| 在线免费观看日本欧美| 欧美成人精品1314www| 国产精品麻豆网站| 蜜桃久久av一区| 欧美日韩精品系列| 亚洲视频一区在线观看| 麻豆一区二区三区| 在线观看成人小视频| 亚洲色图制服丝袜| 国产成人综合自拍| 精品国产乱码久久久久久久久| 亚洲精品日韩一| 成人黄色小视频| 中文字幕日韩av资源站| 国产精品一区专区| 精品久久人人做人人爰| 日韩精品福利网| 日韩一区二区三区免费看| 亚洲成人精品一区| 欧美在线免费观看亚洲| 亚洲国产综合色| 欧美揉bbbbb揉bbbbb| 天天色综合成人网| 欧美日韩一区国产| 亚洲3atv精品一区二区三区| 欧美精品在线一区二区三区| 日韩精品久久理论片| 日韩欧美在线影院| 国产精品一二二区| 国产精品久久久爽爽爽麻豆色哟哟| 加勒比av一区二区| 中文字幕在线一区免费| 色天使色偷偷av一区二区| 亚洲一区二区三区国产| 欧美一区二区高清| 国产成人av在线影院| 一区二区三区在线视频播放| 欧美精品一卡二卡| 国产一区二三区好的| 亚洲男人电影天堂| 欧美三级电影精品| 国产91精品精华液一区二区三区| 1区2区3区欧美| 日韩一二三四区| 99r精品视频| 国产美女视频一区| 亚洲高清视频中文字幕| 久久久亚洲精品石原莉奈| 91麻豆高清视频| 国产mv日韩mv欧美| 青青草97国产精品免费观看无弹窗版| 国产嫩草影院久久久久| 欧美夫妻性生活| 日本韩国一区二区三区| 国产精品一区三区| 麻豆国产欧美一区二区三区| 亚洲夂夂婷婷色拍ww47| 中文字幕成人av| 国产精品拍天天在线| 久久天天做天天爱综合色| 日韩一区二区三区电影| 欧美日韩不卡在线| 欧美日本乱大交xxxxx| 日本韩国欧美在线| 欧美三级三级三级| 色综合天天综合在线视频| 99视频一区二区| 成人av影院在线| 色婷婷av一区二区三区之一色屋| 丁香五精品蜜臀久久久久99网站 | 成人午夜在线视频| 成人中文字幕合集| 91一区一区三区| 欧美在线免费观看亚洲| 3751色影院一区二区三区| 欧美性生交片4| 欧美大黄免费观看| 精品国产亚洲在线| 日韩一区中文字幕| 亚洲黄色av一区| 蜜桃一区二区三区四区| 国产一区在线看| 91丨porny丨中文| 欧美裸体bbwbbwbbw| 精品欧美一区二区久久| 亚洲国产岛国毛片在线| 一区二区三区欧美在线观看| 日本欧美韩国一区三区| 成人激情文学综合网| 555www色欧美视频| 一区二区中文视频| 激情成人午夜视频| 91官网在线观看| 精品成人一区二区三区| 亚洲码国产岛国毛片在线| 国产一区二区三区精品欧美日韩一区二区三区 | 日本韩国欧美一区二区三区| 欧洲人成人精品| 国产精品国产馆在线真实露脸 | 国产精品久久久久一区| 视频一区二区不卡| 色婷婷国产精品| 国产精品久久久久久久久果冻传媒| 亚洲成人中文在线| 在线观看免费亚洲| 夜夜操天天操亚洲| 一本到一区二区三区| 国产精品青草久久| 成人免费毛片aaaaa**| 久久精子c满五个校花| 精品在线免费观看| 久久久久久久综合| 国产麻豆精品在线观看| 久久久久97国产精华液好用吗| 免费在线观看一区| 26uuu国产在线精品一区二区| 日韩在线a电影| 日韩精品一区二| 大美女一区二区三区| 国产精品色噜噜| 91视频你懂的| 日韩电影免费一区| 精品嫩草影院久久| 99久久精品免费| 亚洲成人综合网站| 日韩精品资源二区在线| 国产高清不卡一区| 亚洲精品写真福利| 欧美成人性战久久| 成人av在线影院| 一区二区三区精品| 色系网站成人免费| 国产精品看片你懂得| 欧美丰满美乳xxx高潮www| 国产精品66部| 日韩国产一二三区| 亚洲欧美偷拍卡通变态| 亚洲精品在线网站| 欧美日韩日日骚| 91网站在线观看视频| 国产最新精品免费| 蜜臀久久久久久久| 亚洲图片欧美一区| 一二三四区精品视频| 国产精品伦一区| 国产清纯白嫩初高生在线观看91 | 欧美激情一区在线| 欧美v日韩v国产v| 在线观看91精品国产麻豆| 色欧美日韩亚洲| 成+人+亚洲+综合天堂| 国产高清精品久久久久| 国产精品羞羞答答xxdd| 国产一区二区三区香蕉 | 日韩精品一区二区三区视频播放| 日本韩国一区二区三区视频| 91麻豆精品在线观看| 94色蜜桃网一区二区三区| 不卡视频在线看| jlzzjlzz欧美大全| 欧美天堂亚洲电影院在线播放 | 一区二区三区国产精华| 综合久久久久久| 天涯成人国产亚洲精品一区av| 亚洲第一av色| 国产suv一区二区三区88区| www.日韩av| 欧美日韩不卡视频| 精品88久久久久88久久久| 欧美激情综合五月色丁香小说| 国产精品无遮挡| 午夜精品久久久久久不卡8050| 奇米综合一区二区三区精品视频| 久久 天天综合| 99久精品国产| 亚洲精品一区二区三区福利| 国产精品久久久久aaaa樱花| 日本视频免费一区| av一本久道久久综合久久鬼色| 欧美日韩在线直播| 国产精品成人免费在线| 无吗不卡中文字幕| 色综合久久久久久久久| 欧美大肚乱孕交hd孕妇|