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

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

?? dibsect.c

?? widows編程例題程序13-18章
?? C
字號:
/*--------------------------------------------------------
   DIBSECT.C -- Displays a DIB Section in the client area
                (c) Charles Petzold, 1998
  --------------------------------------------------------*/

#include <windows.h>
#include <commdlg.h>
#include "resource.h"

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

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

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 ("DIB Section Display"),
                          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 ;
}

HBITMAP CreateDibSectionFromDibFile (PTSTR szFileName)
{
     BITMAPFILEHEADER bmfh ;
     BITMAPINFO     * pbmi ;
     BYTE           * pBits ;
     BOOL             bSuccess ;
     DWORD            dwInfoSize, dwBytesRead ;
     HANDLE           hFile ;
     HBITMAP          hBitmap ;

          // Open the file: read access, prohibit write access

     hFile = CreateFile (szFileName, GENERIC_READ, FILE_SHARE_READ,
                         NULL, OPEN_EXISTING, 0, NULL) ;

     if (hFile == INVALID_HANDLE_VALUE)
          return NULL ;

          // Read in the BITMAPFILEHEADER

     bSuccess = ReadFile (hFile, &bmfh, sizeof (BITMAPFILEHEADER), 
                          &dwBytesRead, NULL) ;

     if (!bSuccess || (dwBytesRead != sizeof (BITMAPFILEHEADER))         
                   || (bmfh.bfType != * (WORD *) "BM"))
     {
          CloseHandle (hFile) ;
          return NULL ;
     }

          // Allocate memory for the BITMAPINFO structure & read it in

     dwInfoSize = bmfh.bfOffBits - sizeof (BITMAPFILEHEADER) ;

     pbmi = malloc (dwInfoSize) ;

     bSuccess = ReadFile (hFile, pbmi, dwInfoSize, &dwBytesRead, NULL) ;

     if (!bSuccess || (dwBytesRead != dwInfoSize))
     {
          free (pbmi) ;
          CloseHandle (hFile) ;
          return NULL ;
     }

          // Create the DIB Section

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

     if (hBitmap == NULL)
     {
          free (pbmi) ;
          CloseHandle (hFile) ;
          return NULL ;
     }

          // Read in the bitmap bits

     ReadFile (hFile, pBits, bmfh.bfSize - bmfh.bfOffBits, &dwBytesRead, NULL) ;

     free (pbmi) ;
     CloseHandle (hFile) ;

     return hBitmap ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     static HBITMAP      hBitmap ;
     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") ;
     BITMAP              bitmap ;
     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 bitmap, delete it

               if (hBitmap)
               {
                    DeleteObject (hBitmap) ;
                    hBitmap = NULL ;
               }
                    // Create the DIB Section from the DIB file

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

               hBitmap = CreateDibSectionFromDibFile (szFileName) ;

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

                    // Invalidate the client area for later update

               InvalidateRect (hwnd, NULL, TRUE) ;

               if (hBitmap == NULL)
               {
                    MessageBox (hwnd, TEXT ("Cannot load DIB file"), 
                                szAppName, MB_OK | MB_ICONEXCLAMATION) ;
               }
               return 0 ;
          }
          break ;

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

          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_DESTROY:
          if (hBitmap)
               DeleteObject (hBitmap) ;

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av在线不卡网| 视频在线观看一区二区三区| 国产很黄免费观看久久| 亚洲精品一线二线三线无人区| 精品一区二区三区日韩| 久久久蜜桃精品| 不卡av在线网| 亚洲成人自拍网| 日韩欧美一区电影| 国产91综合网| 亚洲黄色小说网站| 日韩一区二区三区在线| 国产在线观看一区二区| 综合久久一区二区三区| 欧美日韩国产精品自在自线| 麻豆精品视频在线观看| 国产精品欧美一区喷水| 欧美性一区二区| 精品一区二区在线播放| 国产精品人妖ts系列视频| 欧洲亚洲精品在线| 久久国产人妖系列| 一区在线中文字幕| 欧美精品九九99久久| 韩国精品一区二区| 亚洲一区二区视频在线| 精品国产在天天线2019| 99re成人在线| 免费人成在线不卡| 国产精品国产三级国产普通话99 | 久久久久久电影| 99久久er热在这里只有精品15| 亚洲一区影音先锋| 久久一留热品黄| 91福利精品视频| 国产一区二区三区免费播放| 一区二区三区不卡在线观看 | 国产亚洲精品超碰| 精品视频在线免费观看| 国产大片一区二区| 丝袜亚洲精品中文字幕一区| 国产精品免费免费| 日韩一区二区中文字幕| 在线观看av一区二区| 国产寡妇亲子伦一区二区| 亚洲国产毛片aaaaa无费看| 中文字幕二三区不卡| 日韩一卡二卡三卡| 欧美日韩亚洲综合在线| 成人app网站| 国产自产视频一区二区三区| 午夜精品福利一区二区蜜股av| 国产精品伦理在线| 精品国产91九色蝌蚪| 69堂国产成人免费视频| 日本韩国精品在线| 成人永久免费视频| 国产精品一区二区你懂的| 日韩电影免费在线看| 亚洲一区二区欧美日韩| 亚洲天堂网中文字| 欧美国产日韩亚洲一区| 久久婷婷一区二区三区| 日韩精品一区二区三区视频| 欧美精品xxxxbbbb| 欧美男同性恋视频网站| 91黄视频在线观看| 日本精品视频一区二区三区| 99re热这里只有精品视频| 成人avav在线| 成人a区在线观看| 成人黄色av电影| a在线欧美一区| 波多野结衣欧美| 91在线观看一区二区| 不卡在线观看av| 一本久道久久综合中文字幕| 99精品1区2区| 欧美亚日韩国产aⅴ精品中极品| 91久久一区二区| 欧美午夜精品久久久久久超碰| 91九色最新地址| 欧美区在线观看| 日韩亚洲欧美成人一区| 精品成人在线观看| 久久久久国产精品免费免费搜索| 久久久久久99精品| 国产精品女主播在线观看| 成人免费一区二区三区在线观看| 亚洲欧美一区二区三区久本道91| 亚洲免费观看高清| 香蕉久久一区二区不卡无毒影院| 美女尤物国产一区| 国产主播一区二区| av不卡免费电影| 欧美系列日韩一区| 精品捆绑美女sm三区| 国产欧美综合在线观看第十页| 中文字幕免费观看一区| 亚洲美女精品一区| 日本一区中文字幕| 国产露脸91国语对白| eeuss国产一区二区三区| 欧美日韩一区二区三区免费看| 91精品国产一区二区三区香蕉| 久久免费美女视频| 亚洲精品成a人| 久久精品免费观看| 99久久免费国产| 欧美老女人第四色| 国产午夜精品美女毛片视频| 亚洲美女一区二区三区| 日韩国产精品久久久久久亚洲| 久久爱www久久做| 91片在线免费观看| 日韩一级大片在线| 中文字幕在线观看不卡视频| 五月婷婷欧美视频| 国产suv精品一区二区三区 | 欧美日韩视频专区在线播放| 精品美女一区二区三区| 亚洲精品一二三区| 精品一区二区三区免费毛片爱 | 日本一区二区不卡视频| 亚洲国产成人av网| 国产91综合网| 欧美一级xxx| 夜夜精品视频一区二区| 国产精品99久久久久久似苏梦涵| 91麻豆国产香蕉久久精品| 精品国产91久久久久久久妲己| 亚洲综合在线第一页| 成人av动漫在线| 精品女同一区二区| 午夜欧美在线一二页| 成人a区在线观看| 久久这里只有精品首页| 国产宾馆实践打屁股91| 欧美一级片在线看| 日韩美一区二区三区| 国产欧美日韩综合精品一区二区 | 欧美日本一区二区在线观看| 国产精品久久久久久久久免费樱桃| 免费观看成人鲁鲁鲁鲁鲁视频| 色哟哟日韩精品| 亚洲欧洲性图库| 国产高清在线精品| 日韩精品一区二区三区在线 | 在线欧美日韩精品| 中文字幕一区二区三区不卡 | 亚洲精品免费播放| 不卡影院免费观看| 国产欧美一区视频| 国模无码大尺度一区二区三区| 3d动漫精品啪啪1区2区免费 | 久久精品国产亚洲一区二区三区 | 国产综合色视频| 在线播放一区二区三区| 亚洲电影欧美电影有声小说| 91麻豆精东视频| 一区二区三区av电影| 91麻豆免费看片| 一区二区三区小说| 91成人免费在线| 亚洲高清免费视频| 欧美三级欧美一级| 午夜欧美一区二区三区在线播放| 欧美日韩一级大片网址| 亚洲精品成人在线| 欧洲日韩一区二区三区| 一区二区欧美精品| 欧美老年两性高潮| 久久精品国产99国产精品| 欧美大度的电影原声| 激情综合一区二区三区| 久久婷婷国产综合国色天香| 国产高清亚洲一区| 国产精品国产三级国产| 99re这里都是精品| 亚洲第一成年网| 日韩欧美色综合| 懂色av一区二区夜夜嗨| 日韩码欧中文字| 欧美色图激情小说| 奇米一区二区三区| 久久精品视频一区| av亚洲精华国产精华| 亚洲图片欧美视频| 4438亚洲最大| 国产一区二区三区久久悠悠色av| 久久久精品国产99久久精品芒果| 岛国一区二区在线观看| 亚洲激情欧美激情| 欧美一区二区三区免费| 国产一区二区免费看| 亚洲免费伊人电影| 777奇米四色成人影色区| 国产精品一区免费视频| 亚洲精品乱码久久久久久| 日韩免费性生活视频播放|