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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? showdib8.c

?? Programming Visual C++ 5th edition source code
?? C
字號(hào):
/*--------------------------------------------------
   SHOWDIB8.C -- Shows DIB converted to DIB section
                 (c) Charles Petzold, 1998
  --------------------------------------------------*/

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

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

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

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 #8: DIB Section"),
                          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 HBITMAP      hBitmap ;
     static HPALETTE     hPalette ;
     static int          cxClient, cyClient ;
     static OPENFILENAME ofn ;
     static PBYTE        pBits ;
     static TCHAR        szFileName [MAX_PATH], szTitleName [MAX_PATH] ;
     static TCHAR        szFilter[] = TEXT ("Bitmap Files (*.BMP)\0*.bmp\0")
                                      TEXT ("All Files (*.*)\0*.*\0\0") ;
     BITMAP              bitmap ;
     BITMAPINFO        * pPackedDib ;
     HDC                 hdc, hdcMem ;
     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 ;

          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 (hBitmap)
               {
                    DeleteObject (hBitmap) ;
                    hBitmap = NULL ;
               }
               
                    // If there's an existing logical palette, delete it

               if (hPalette)
               {
                    DeleteObject (hPalette) ;
                    hPalette = 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)
               {
                         // Create the DIB section from the DIB

                    hBitmap = CreateDIBSection (NULL,
                                             pPackedDib, 
                                             DIB_RGB_COLORS,
                                             &pBits, 
                                             NULL, 0) ;

                         // Copy the bits

                    CopyMemory (pBits, PackedDibGetBitsPtr  (pPackedDib),
                                       PackedDibGetBitsSize (pPackedDib)) ;

                         // Create palette from the DIB

                    hPalette = PackedDibCreatePalette (pPackedDib) ;

                         // Free the packed-DIB memory

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

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

          if (hPalette)
          {
               SelectPalette (hdc, hPalette, FALSE) ;
               RealizePalette (hdc) ;
          }
          if (hBitmap)
          {
               GetObject (hBitmap, sizeof (BITMAP), &bitmap) ;

               hdcMem = CreateCompatibleDC (hdc) ;
               SelectObject (hdcMem, hBitmap) ;

               BitBlt (hdc,    0, 0, bitmap.bmWidth, bitmap.bmHeight, 
                       hdcMem, 0, 0, SRCCOPY) ;

               DeleteDC (hdcMem) ;
          }
          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:
          if (hBitmap)
               DeleteObject (hBitmap) ;

          if (hPalette)
               DeleteObject (hPalette) ;

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久午夜夜伦鲁鲁| 美国十次了思思久久精品导航| 午夜一区二区三区视频| 看电视剧不卡顿的网站| 国产成人在线网站| 欧美伊人久久久久久久久影院| 国产91丝袜在线18| 666欧美在线视频| 国产日产精品一区| 日韩avvvv在线播放| 色综合久久久网| 久久精品一区二区三区不卡牛牛| 日韩一级大片在线观看| 亚洲精品欧美激情| 国产精品18久久久久久久久久久久| 精品一区二区三区欧美| 欧美网站大全在线观看| 亚洲欧洲性图库| 国产乱一区二区| 日韩免费视频一区| 日本sm残虐另类| 欧美性受xxxx黑人xyx性爽| 中文子幕无线码一区tr| 精品亚洲成av人在线观看| 欧美日韩五月天| 亚洲欧美日韩久久精品| 不卡的av中国片| 国产精品九色蝌蚪自拍| 国产不卡一区视频| 日本一区二区三区四区| 国产成人av影院| 久久久99精品久久| 国产91丝袜在线18| 欧美国产日韩亚洲一区| 国产成人在线网站| 国产精品女主播av| 成年人国产精品| 综合久久一区二区三区| 99久久久精品| 亚洲精品乱码久久久久久久久| 亚洲国产精品精华液网站| 91久久精品一区二区三区| 一区二区视频免费在线观看| 91蝌蚪porny成人天涯| 欧美日韩精品一区视频| 亚洲国产日韩精品| 91成人在线精品| 亚洲va韩国va欧美va| 欧美年轻男男videosbes| 日韩一区精品视频| 精品国产不卡一区二区三区| 久久99精品国产.久久久久| 亚洲精品一区二区在线观看| 国产成人精品亚洲日本在线桃色| 91麻豆高清视频| 亚洲午夜久久久久久久久电影院 | 欧美大片在线观看一区二区| 麻豆视频观看网址久久| 国产午夜亚洲精品不卡| 丁香六月综合激情| 亚洲精品国产一区二区三区四区在线 | 蜜臀va亚洲va欧美va天堂| 欧美一区二区三区婷婷月色 | 国产一区91精品张津瑜| 久久精品视频一区二区| 91浏览器打开| 免费高清成人在线| 国产精品青草久久| 欧美浪妇xxxx高跟鞋交| 国产高清在线精品| 亚洲小说欧美激情另类| 久久综合久久久久88| 97精品国产97久久久久久久久久久久| 精品国产3级a| 白白色 亚洲乱淫| 丝袜a∨在线一区二区三区不卡| 一本色道亚洲精品aⅴ| 奇米精品一区二区三区四区| 日本一区二区视频在线观看| 欧美性三三影院| 国产乱人伦精品一区二区在线观看| 91精品国产高清一区二区三区蜜臀| 亚洲欧美偷拍三级| 日韩欧美三级在线| 99精品欧美一区二区蜜桃免费| 国产精品视频在线看| 欧美日韩国产综合一区二区三区| 伊人夜夜躁av伊人久久| 国产亚洲欧美色| 91精品国产一区二区三区蜜臀| 亚洲午夜精品久久久久久久久| 一本色道a无线码一区v| 国产一区二区不卡老阿姨| 亚洲成人一区二区| 亚洲色图视频网站| 国产欧美精品一区二区三区四区| 国产高清亚洲一区| 六月丁香综合在线视频| 亚洲无线码一区二区三区| 国产精品乱人伦中文| 精品久久99ma| 欧美一区二区三区四区五区| 99在线精品观看| 国产99久久久精品| 国产尤物一区二区| 久久成人免费日本黄色| 日本午夜精品视频在线观看 | 国产91丝袜在线播放| 免费在线看一区| 天天综合色天天| 亚洲成人高清在线| 香蕉乱码成人久久天堂爱免费| 欧美一级视频精品观看| 欧美日韩大陆在线| 色播五月激情综合网| 91麻豆国产自产在线观看| 粉嫩绯色av一区二区在线观看| 亚洲另类春色校园小说| 亚洲欧洲性图库| 亚洲欧美日本韩国| 亚洲精品国产无套在线观| 日韩理论片网站| 一区二区三区四区蜜桃| 综合色天天鬼久久鬼色| √…a在线天堂一区| 亚洲天堂免费在线观看视频| 国产农村妇女毛片精品久久麻豆| 欧美色偷偷大香| 欧美日韩免费高清一区色橹橹| 久久精品国内一区二区三区| 另类小说一区二区三区| 国产剧情一区在线| 成人黄色国产精品网站大全在线免费观看 | 成人午夜在线视频| 99精品久久只有精品| 在线一区二区三区四区| 欧美日韩国产大片| 91精品国产免费久久综合| 精品三级av在线| 国产精品国产自产拍在线| 亚洲黄色尤物视频| 日韩av一级片| 国产成+人+日韩+欧美+亚洲| 91热门视频在线观看| 欧美日韩电影一区| 国产亚洲美州欧州综合国| 亚洲色图都市小说| 美女视频第一区二区三区免费观看网站| 国产精品区一区二区三区| 亚洲欧美怡红院| 日韩高清一区在线| 国产盗摄精品一区二区三区在线 | 欧美男男青年gay1069videost | 亚洲sss视频在线视频| 久久99国产精品久久99果冻传媒| 亚洲精品视频免费观看| 人妖欧美一区二区| 成人免费看视频| 欧美一区二区三区日韩视频| 欧美国产日本韩| 视频一区二区中文字幕| 不卡视频一二三四| 欧美电视剧在线观看完整版| 亚洲日本青草视频在线怡红院| 国产亚洲一区二区三区四区| 亚洲国产精品一区二区www| 日韩不卡手机在线v区| 91在线视频18| 欧美电影免费提供在线观看| 中文字幕制服丝袜一区二区三区| 久久久久久久综合日本| 亚洲男人的天堂在线aⅴ视频| 国产精品免费看片| 免费人成在线不卡| 欧美在线观看一区| 国产精品视频免费看| 美女一区二区三区| 欧美日韩一本到| 亚洲同性同志一二三专区| 久草热8精品视频在线观看| 精品视频在线看| 亚洲你懂的在线视频| 成人性色生活片| 国产午夜一区二区三区| 奇米精品一区二区三区四区| 欧美综合在线视频| 国产精品久久久久久久久果冻传媒 | 国产欧美日韩视频在线观看| 日本在线播放一区二区三区| 色综合久久久网| 亚洲欧美偷拍三级| 99久久久免费精品国产一区二区| 色天天综合久久久久综合片| 国产日韩视频一区二区三区| 精品一区二区久久| 欧美成人欧美edvon| 理论电影国产精品| 欧美大白屁股肥臀xxxxxx| 日日夜夜精品免费视频| 欧美日韩久久久|