MFC 隨機矩形

2022-09-02 10:15:13 字數 1610 閱讀 9985

問題描述:

簡單地使用隨即的尺寸和顏色不停的繪製一系列的影象。

一種古老的方式:

設定乙個向視窗函式傳送wm_timer訊息的windows計時器。

對每個wm_timer訊息,呼叫getdc函式獲取裝置環境,然後繪製乙個隨機矩形,接著呼叫releasedc函式釋放裝置環境。

方法弊端:

程式不能很快的繪製隨機矩形,必須等待每個wm_timer訊息,會依賴於系統時鐘的精度

新函式:

peekmessage(&msg,null,0,0,pm_remove);這個函式允許乙個程式檢查程式佇列中的下乙個訊息,而不是真實的獲取並刪除它看到的訊息。

正常的迴圈訊息:

while (getmessage(&msg, null, 0, 0))

}

替換後的迴圈訊息:

while(true)

else

drawrctangle(hwnd);

}

在這裡,必須明確檢查wm_quit訊息。在乙個正常的訊息迴圈中,不需要這樣做。

因為正常的getmessage返回值是false(0),但是peekmessage的返回值是佇列中有沒有訊息,因此檢查wm_quit是必要的。

原始檔**:

// peekmessage.cpp : 定義應用程式的入口點。

//#include "stdafx.h"

#include "peekmessage.h"

#include #include lresult callback wndproc(hwnd, uint, wparam, lparam);

void drawrctangle(hwnd);

int cxclient,cyclient;

int winapi winmain(hinstance hinstance,

hinstance hprevinstance,

lptstr lpcmdline,

int ncmdshow)

cw_usedefault,cw_usedefault,cw_usedefault,cw_usedefault,null,null,hinstance,null);

showwindow(hwnd,ncmdshow);

updatewindow(hwnd);

while(true)

else

drawrctangle(hwnd);

}return (int) msg.wparam;

}void drawrctangle(hwnd hwnd)

lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)

return defwindowproc(hwnd,message,wparam,lparam);

}

MFC 隨機矩形

問題描述 簡單地使用隨即的尺寸和顏色不停的繪製一系列的影象。一種古老的方式 設定乙個向視窗函式傳送wm timer訊息的windows計時器。對每個wm timer訊息,呼叫getdc函式獲取裝置環境,然後繪製乙個隨機矩形,接著呼叫releasedc函式釋放裝置環境。方法弊端 程式不能很快的繪製隨機...

新手用MFC畫矩形

如題,此文屬於新手級別的mfc運用 這樣乙個基於對話方塊的mfc簡單工程就建成了。然後再testdlg.cpp裡找到void ctestdlg onpaint 在else裡的cdialog onpaint 後面寫 cclientdc dc this 選定當前畫圖環境 cpen pen ps soli...

JS 生成隨機矩形位置 矩形大小 物件導向

使用物件導向的方法進行矩形的隨機生成。使用了原型和建構函式模式 隨機生成矩形。矩形的位置是隨機的,矩形的長寬 100 200 也是隨機的。貼上 html 1 div class content id content 2 div class controls 3 label for rec num 請...