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

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

?? showdib5.c

?? widows編程例題程序13-18章
?? C
字號:
/*--------------------------------------------------
   SHOWDIB5.C -- Displays DIB with halftone palette
                 (c) Charles Petzold, 1998
  --------------------------------------------------*/

#include <windows.h>
#include "..\\ShowDib3\\PackeDib.h"
#include "resource.h"

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

TCHAR szAppName[] = TEXT ("ShowDib5") ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     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  = szAppName ;
     wndclass.lpszClassName = szAppName ;

     if (!RegisterClass (&wndclass))
     {
          MessageBox (NULL, TEXT ("This program requires Windows NT!"), 
                      szAppName, MB_ICONERROR) ;
          return 0 ;
     }

     hwnd = CreateWindow (szAppName, TEXT ("Show DIB #5: Halftone Palette"),
                          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 BITMAPINFO * pPackedDib ;
     static HPALETTE     hPalette ;
     static int          cxClient, cyClient ;
     static OPENFILENAME ofn ;
     static TCHAR        szFileName [MAX_PATH], szTitleName [MAX_PATH] ;
     static TCHAR        szFilter[] = TEXT ("Bitmap Files (*.BMP)\0*.bmp\0")
                                      TEXT ("All Files (*.*)\0*.*\0\0") ;
     HDC                 hdc ;
     PAINTSTRUCT         ps ;

     switch (message)
     {
     case WM_CREATE:
          ofn.lStructSize       = sizeof (OPENFILENAME) ;
          ofn.hwndOwner         = hwnd ;
          ofn.hInstance         = NULL ;
          ofn.lpstrFilter       = szFilter ;
          ofn.lpstrCustomFilter = NULL ;
          ofn.nMaxCustFilter    = 0 ;
          ofn.nFilterIndex      = 0 ;
          ofn.lpstrFile         = szFileName ;
          ofn.nMaxFile          = MAX_PATH ;
          ofn.lpstrFileTitle    = szTitleName ;
          ofn.nMaxFileTitle     = MAX_PATH ;
          ofn.lpstrInitialDir   = NULL ;
          ofn.lpstrTitle        = NULL ;
          ofn.Flags             = 0 ;
          ofn.nFileOffset       = 0 ;
          ofn.nFileExtension    = 0 ;
          ofn.lpstrDefExt       = TEXT ("bmp") ;
          ofn.lCustData         = 0 ;
          ofn.lpfnHook          = NULL ;
          ofn.lpTemplateName    = NULL ;

               // Create the All-Purpose Palette

          hdc = GetDC (hwnd) ;
          hPalette = CreateHalftonePalette (hdc) ;
          ReleaseDC (hwnd, hdc) ;
          return 0 ;

     case WM_SIZE:
          cxClient = LOWORD (lParam) ;
          cyClient = HIWORD (lParam) ;
          return 0 ;

     case WM_COMMAND:
          switch (LOWORD (wParam))
          {
          case IDM_FILE_OPEN:

                    // Show the File Open dialog box

               if (!GetOpenFileName (&ofn))
                    return 0 ;
               
                    // If there's an existing packed DIB, free the memory

               if (pPackedDib)
               {
                    free (pPackedDib) ;
                    pPackedDib = NULL ;
               }
               
                    // Load the packed DIB into memory

               SetCursor (LoadCursor (NULL, IDC_WAIT)) ;
               ShowCursor (TRUE) ;

               pPackedDib = PackedDibLoad (szFileName) ;

               ShowCursor (FALSE) ;
               SetCursor (LoadCursor (NULL, IDC_ARROW)) ;

               if (!pPackedDib)
               {
                    MessageBox (hwnd, TEXT ("Cannot load DIB file"), 
                                szAppName, 0) ;
               }
               InvalidateRect (hwnd, NULL, TRUE) ;
               return 0 ;
          }
          break ;

     case WM_PAINT:
          hdc = BeginPaint (hwnd, &ps) ;

          if (pPackedDib)
          {
                    // Set halftone stretch mode

               SetStretchBltMode (hdc, HALFTONE) ;
               SetBrushOrgEx (hdc, 0, 0, NULL) ;

                    // Select and realize halftone palette

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

                    // StretchDIBits rather than SetDIBitsToDevice
          
               StretchDIBits (hdc, 
                              0,   
                              0,   
                              PackedDibGetWidth (pPackedDib), 
                              PackedDibGetHeight (pPackedDib),
                              0,                            
                              0,                            
                              PackedDibGetWidth (pPackedDib),
                              PackedDibGetHeight (pPackedDib),  
                              PackedDibGetBitsPtr (pPackedDib), 
                              pPackedDib, 
                              DIB_RGB_COLORS, 
                              SRCCOPY) ;
          }
          EndPaint (hwnd, &ps) ;
          return 0 ;

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

          ReleaseDC (hwnd, hdc) ;
          return TRUE ;

     case WM_PALETTECHANGED:
          if ((HWND) wParam != hwnd)

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

          ReleaseDC (hwnd, hdc) ;
          break ;
          
     case WM_DESTROY:
          if (pPackedDib)
               free (pPackedDib) ;

          DeleteObject (hPalette) ;

          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合狠狠综合久久综合88| 欧洲精品在线观看| 精品不卡在线视频| 久久国产婷婷国产香蕉| 欧美大片在线观看一区| 久久成人免费电影| 久久久一区二区三区捆绑**| 国产精品一区在线观看你懂的| 精品国产髙清在线看国产毛片 | caoporen国产精品视频| 欧美国产成人在线| 97久久久精品综合88久久| 亚洲精品国产一区二区三区四区在线| 欧美午夜精品电影| 喷水一区二区三区| 久久久久久**毛片大全| 99国产精品国产精品久久| 亚洲国产精品久久人人爱| 91精品国产91热久久久做人人| 狠狠色丁香婷婷综合久久片| 国产网站一区二区| 欧美中文一区二区三区| 久久电影网站中文字幕| 日本一区二区免费在线观看视频| 99热这里都是精品| 石原莉奈一区二区三区在线观看| 久久人人97超碰com| 91色在线porny| 日韩电影在线一区二区| 久久女同性恋中文字幕| 色欧美日韩亚洲| 久久国产欧美日韩精品| 国产精品久久久久久久裸模| 欧美熟乱第一页| 国产精品一区二区91| 亚洲高清中文字幕| 欧美国产日韩亚洲一区| 777午夜精品视频在线播放| 福利一区在线观看| 偷拍自拍另类欧美| 中文字幕av一区二区三区高 | 欧美国产欧美亚州国产日韩mv天天看完整| 色婷婷综合在线| 极品美女销魂一区二区三区| 亚洲午夜久久久久久久久久久| 国产午夜精品一区二区| 欧美日韩国产另类不卡| 丁香六月综合激情| 免费成人av资源网| 亚洲在线观看免费视频| 中文字幕精品一区二区精品绿巨人| 欧美精品久久一区二区三区| 99久久国产综合色|国产精品| 久久99精品久久久久| 亚洲18女电影在线观看| 亚洲日本乱码在线观看| 国产日韩欧美高清在线| 欧美精品777| 欧美在线制服丝袜| 91麻豆精品视频| 国产成人精品影视| 韩国精品主播一区二区在线观看| 午夜国产精品一区| 亚洲小说春色综合另类电影| 亚洲欧美日韩在线不卡| 欧美高清在线一区二区| 久久久蜜桃精品| 欧美tickling网站挠脚心| 欧美喷水一区二区| 在线精品视频免费播放| 91首页免费视频| 高清日韩电视剧大全免费| 九九国产精品视频| 久久不见久久见中文字幕免费| 日韩电影在线观看网站| 婷婷综合在线观看| 日韩成人一级片| 午夜电影网一区| 日本伊人午夜精品| 日韩综合在线视频| 奇米888四色在线精品| 秋霞电影网一区二区| 男男视频亚洲欧美| 韩国三级中文字幕hd久久精品| 久久se精品一区精品二区| 久久99国内精品| 国产在线视频一区二区| 极品瑜伽女神91| 国产成人在线观看| 成人精品高清在线| 日本精品视频一区二区| 欧美日韩精品欧美日韩精品一综合| 欧美日韩日日骚| 欧美一二三区在线| 久久蜜桃av一区精品变态类天堂 | 成人免费毛片片v| www..com久久爱| 一本久久a久久免费精品不卡| 色婷婷精品大在线视频| 欧美高清视频www夜色资源网| 欧美顶级少妇做爰| 久久夜色精品国产欧美乱极品| 国产三级精品三级在线专区| 亚洲视频一区二区在线| 亚洲黄色尤物视频| 欧美aa在线视频| 国产ts人妖一区二区| 91黄色小视频| 日韩欧美在线网站| 欧美国产精品一区| 亚洲成a人片综合在线| 国产一区啦啦啦在线观看| av在线一区二区| 在线成人免费视频| 日本一区二区三区免费乱视频 | 99久久精品国产麻豆演员表| 欧美中文字幕一区二区三区| 日韩一区国产二区欧美三区| 国产目拍亚洲精品99久久精品| 亚洲国产aⅴ成人精品无吗| 国产综合成人久久大片91| 99久久国产免费看| 日韩一区国产二区欧美三区| 国产精品久线观看视频| 日本在线不卡视频一二三区| 成人免费视频caoporn| 7777精品伊人久久久大香线蕉最新版| 国产日韩精品一区| 丝袜美腿亚洲综合| 成人免费福利片| 欧美一区二区视频观看视频| 国产精品婷婷午夜在线观看| 五月天视频一区| 91伊人久久大香线蕉| 欧美mv日韩mv| 香蕉成人伊视频在线观看| 成人18视频在线播放| 91精品国产综合久久久久久漫画 | 中文字幕精品一区二区精品绿巨人| 亚洲第一搞黄网站| 不卡av电影在线播放| 欧美本精品男人aⅴ天堂| 亚洲精品成人在线| 懂色av一区二区三区免费看| 欧美乱妇23p| 亚洲午夜日本在线观看| av午夜一区麻豆| 久久久三级国产网站| 久久国产夜色精品鲁鲁99| 欧美日韩电影在线播放| 成人欧美一区二区三区小说| 色综合中文字幕| 精品理论电影在线| 免费不卡在线视频| 欧美三级电影网| 亚洲一区二区欧美日韩| 99精品视频在线观看| 欧美激情资源网| 国产最新精品免费| 精品88久久久久88久久久| 轻轻草成人在线| 91精品黄色片免费大全| 午夜伦理一区二区| 91成人在线观看喷潮| 中文字幕中文字幕一区| 国产乱色国产精品免费视频| 欧美刺激脚交jootjob| 麻豆中文一区二区| 精品日产卡一卡二卡麻豆| 精品一区中文字幕| 精品处破学生在线二十三| 国内精品免费在线观看| 日韩欧美不卡在线观看视频| 久久精品国产免费| 精品国产一区二区在线观看| 久久97超碰国产精品超碰| 日韩一卡二卡三卡国产欧美| 麻豆精品视频在线观看视频| 欧美一区午夜视频在线观看| 日韩av一区二| 精品欧美黑人一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品一区二区x88av| 日本一区二区三区四区在线视频| 成人成人成人在线视频| 日韩毛片视频在线看| 欧美三级一区二区| 美腿丝袜在线亚洲一区| 久久久不卡网国产精品一区| 丰满岳乱妇一区二区三区| 国产精品国产自产拍高清av王其| 91麻豆国产自产在线观看| 亚洲成人在线网站| 欧美mv和日韩mv的网站| 国产在线不卡一区| 亚洲靠逼com| 91麻豆精品国产综合久久久久久| 久草精品在线观看| 亚洲你懂的在线视频| 91精品国产色综合久久|