通過這三天的學習使我對gdi有了進一步的認識,但由於我個人智慧型的有限導致了認識和理解的造成的片面和不足,還請假見諒。
當位圖的資源在在處理主視窗訊息的區域進行響應時,可以採用wm_paint後面新增**的方式,還可以選用按鍵或者滑鼠響應的方法,如下面就是採用滑鼠響應的方法
case wm_lbuttondown:
break;
但是採用這種方式,如果將視窗進入無效區域,位圖資源將會消失,無法進行保持,這時可以通過將其**書寫區域的改變,使其達到不斷重繪位圖,這時需將**放置主函式區域,並將主訊息迴圈改為peekmessage()函式的方式,已達到不斷重繪的效果
//hdc hdc = getdc(g_hwnd);
雙緩衝//hdc hbuffdc = createcompatibledc(hdc);
//hbitmap hbuffbitmap = createcompatiblebitmap(hdc, 1024, 768);//乙個緩衝相容dc
//selectobject(hbuffdc, hbuffbitmap);
資源的載入
//hdc hbkdc = createcompatibledc(hdc);
//hbitmap hbkbitmap = (hbitmap)loadimage(hinst, _t("bk.bmp"), image_bitmap, 0, 0, lr_loadfromfile);//從檔案載入了資源
//selectobject(hbkdc, hbkbitmap);
//hdc hherodc = createcompatibledc(hdc);
//hbitmap hherobitmap = (hbitmap)loadimage(hinst, _t("hero.bmp"), image_bitmap, 0, 0, lr_loadfromfile);//從檔案載入了資源
//selectobject(hherodc, hherobitmap);
//releasedc(g_hwnd, hdc);
//zeromemory(&msg, sizeof(msg));
//while (msg.message != wm_quit)
// // }
// //邏輯
// static int index = 0;
// static float begintimer = timegettime() / 1000.0f;
// float endtimer = timegettime() / 1000.0f;
// static float speed = 0.3f;
// //不管有沒有訊息,都進行迴圈繪製
// hdc = getdc(g_hwnd);
// rect r = ;
// hbrush hr = createsolidbrush(0x00);
// fillrect(hbuffdc, &r, hr);
// bitblt(hbuffdc, 0, 0, 960, 600, hbkdc, 0, 0, srccopy);
//transparentblt(hbuffdc, 0, 0, 90, 88,
// hherodc, 90*index, 88,
// 90,88,
// rgb(255, 255, 255));//把資源畫到目標,可以處理背景色為透明
// if (endtimer - begintimer >= speed)
// // //最後一次把緩衝dc的內容拷貝到主dc
// bitblt(hdc, 0, 0, 1024, 768, hbuffdc, 0, 0, srccopy);
// deleteobject(hr);
// releasedc(g_hwnd, hdc);
//}//deleteobject(hherobitmap);
//deleteobject(hbkbitmap);
//deleteobject(hbuffbitmap);
//deletedc(hherodc);
//deletedc(hbkdc);
//deletedc(hbuffdc);
C 學習第八天
介面 inte ce c 中介面定義的規則 1 介面本身的預設訪問級別為internal,即程式集本身訪問級別 2 介面中方法不能使用任何訪問修飾符 例如 public private internal protected 等修飾。系統自動為其設定為public 3 不能使用virtual修飾 4 ...
JS學習第八天
7.4 for in 使 更加的簡潔 7.5 陣列的應用 1.查詢 a.順序查詢 var a 3,7,11,43,87,5,99,56,82,16 var num number prompt 請輸入要查詢的值 var index 1 最初認為要找的值不在陣列中 for var i in a aler...
Linux C學習第八天
一 運算子與表示式 1.優先順序與結合性 優先順序 運算子的運算順序,優先順序低的先運算 結合性 優先順序相等的情況下,運算子按運算順序計算 2.基本算術運算子 取餘運算,結果的符號取決於運算子左邊那個數。3.型別轉換 強制轉換 在變數前使用括號進行轉換 int a int 1.2 隱式轉換 系統自...