来测试一下你的电脑磁盘得分把(磁盘打分正式版) GlobalFlags, InterlockedDecrement, GlobalFindAtomW, CompareStringW, LoadLibraryA, GetVersionExA, GlobalAddAtomW, WritePrivateProfileStringW, FreeResource, GlobalDeleteAtom, GetCurrentThread, GetCurrentThreadId, ConvertDefaultLocale, EnumResourceLanguagesW, lstrcmpA, GetLocaleInfoW, CompareStringA, InterlockedExchange, lstrcmpW, GetModuleHandleW, LocalFree, lstrlenW, GetCurrentProcessId, GetModuleFileNameW, MulDiv, GetModuleHandleA, GetProcAddress, SetLastError, WideCharToMultiByte, MultiByteToWideChar, GetVersionExW, GetCurrentProcess, GlobalFree, GlobalReAlloc, GlobalUnlock, GlobalLock, GlobalAlloc, WriteFile, FormatMessageW, GetLastError, FreeLibrary, LoadLibraryW, GetSystemWindowsDirectoryW, GetDiskFreeSpaceExW, ReadFile, QueryPerformanceCounter, SetFilePointer, CloseHandle, CreateFileW, ResumeThread, SetThreadPriority, GetLogicalDriveStringsW, QueryPerformanceFrequency, FindResourceW, LoadResource, LockResource, GetSystemTimeAsFileTime, SizeofResource<BR>> USER32.dll: PostThreadMessageW, GetWindowTextW, GetForegroundWindow, GetTopWindow, UnhookWindowsHookEx, GetMessageTime, SetMenu, SetForegroundWindow, UpdateWindow, CreateWindowExW, GetClassInfoExW, GetClassInfoW, RegisterClassW, AdjustWindowRectEx, EqualRect, CopyRect, GetDlgCtrlID, DefWindowProcW, CallWindowProcW, GetMenu, SetWindowLongW, OffsetRect, IntersectRect, SystemParametersInfoA, GetWindowPlacement, GetWindowRect, SetWindowsHookExW, CallNextHookEx, GetMessageW, TranslateMessage, DispatchMessageW, IsWindowVisible, GetKeyState, PeekMessageW, GetCursorPos, ValidateRect, SetMenuItemBitmaps, GetMenuCheckMarkDimensions, LoadBitmapW, GetFocus, ModifyMenuW, EnableMenuItem, RegisterClipboardFormatW, GetActiveWindow, SetActiveWindow, CreateDialogIndirectParamW, DestroyWindow, IsWindow, GetDlgItem, GetNextDlgTabItem, EndDialog, GetWindow, SetWindowContextHelpId, MapDialogRect, SetWindowPos, PostQuitMessage, PostMessageW, GetMenuState, GetMenuItemID, GetMenuItemCount, GetSubMenu, GetWindowThreadProcessId, GetParent, GetWindowLongW, GetLastActivePopup, IsWindowEnabled, MessageBoxW, GetSysColor, EndPaint, BeginPaint, GetWindowDC, ReleaseDC, GetDC, ClientToScreen, GrayStringW, DrawTextExW, DrawTextW, EnableWindow, GetNextDlgGroupItem, InvalidateRgn, IsRectEmpty, TabbedTextOutW, SetRect, SetCursor, CopyIcon, PtInRect, ScreenToClient, GetMessagePos, MessageBeep, KillTimer, SetTimer, InvalidateRect, DrawIcon, GetClientRect, GetSystemMetrics, IsIconic, LoadCursorW, SendMessageW, AppendMenuW, GetSystemMenu, LoadIconW, UnregisterClassW, CharUpperW, GetDesktopWindow, CopyAcceleratorTableW, CharNextW, ReleaseCapture, SetCapture, GetSysColorBrush, DestroyMenu, ShowWindow, MoveWindow, SetWindowTextW, IsDialogMessageW, SetDlgItemTextW, RegisterWindowMessageW, SendDlgItemMessageW, SendDlgItemMessageA, WinHelpW, IsChild, GetCapture, GetClassLongW, GetClassNameW, SetPropW, GetPropW, RemovePropW, SetFocus, CheckMenuItem, GetWindowTextLengthW, MapWindowPoints<BR>> GDI32.dll: LineTo, MoveToEx, GetViewportExtEx, GetWindowExtEx, PtVisible, RectVisible, TextOutW, ExtTextOutW, Escape, SetViewportOrgEx, OffsetViewportOrgEx, SetViewportExtEx, ScaleViewportExtEx, SetWindowExtEx, ScaleWindowExtEx, ExtSelectClipRgn, CreateBitmap, GetDeviceCaps, CreatePen, CreateSolidBrush, CreateRectRgnIndirect, GetMapMode, GetBkColor, GetTextColor, GetRgnBox, SetMapMode, GetClipBox, SetTextColor, SetBkMode, SetBkColor, RestoreDC, SaveDC, DeleteDC, DeleteObject, GetStockObject, CreateFontIndirectW, CreateCompatibleDC, GetObjectW, BitBlt, SelectObject, Rectangle, CreateFontW, CreateCompatibleBitmap<BR>> COMDLG32.dll: GetFileTitleW<BR>> WINSPOOL.DRV: DocumentPropertiesW, ClosePrinter, OpenPrinterW<BR>> ADVAPI32.dll: RegQueryValueExW, RegQueryValueW, RegOpenKeyW, RegEnumKeyW, RegDeleteKeyW, RegSetValueExW, RegCreateKeyExW, RegOpenKeyExW, RegCloseKey<BR>> SHELL32.dll: ShellExecuteW<BR>> COMCTL32.dll: InitCommonControlsEx<BR>> SHLWAPI.dll: PathFindFileNameW, PathStripToRootW, PathIsUNCW, PathFindExtensionW<BR>> oledlg.dll: OleUIBusyW<BR>> ole32.dll: CoRevokeClassObject, OleInitialize, CoFreeUnusedLibraries, OleUninitialize, CreateILockBytesOnHGlobal, StgCreateDocfileOnILockBytes, StgOpenStorageOnILockBytes, CoGetClassObject, OleIsCurrentClipboard, CLSIDFromString, CLSIDFromProgID, CoTaskMemAlloc, CoTaskMemFree, OleFlushClipboard, CoRegisterMessageFilter<BR>> OLEAUT32.dll: -, -, -, -, -, -, -, -, -, -, -, -<BR><BR>( 0 exports ) <BR>
贴吧:
硬件作者:
hikecn 2010-05-19 18:44 回复:MFC PICTURE控件 闪屏问题求解决 代码:
VOID CLXTomDlg::OnDraw()
{
int i;
srand((long)time(NULL));
// CRgn rgn1, rgn2,rgn3;
CPaintDC dc(this); // device context for painting
//两种颜色的画笔
CPen pen_red(PS_SOLID,1,RGB(255,0,0));
CPen pen_black(PS_SOLID,1,RGB(0,0,0));
//获取绘制坐标的控件
CWnd* pWnd = GetDlgItem(IDC_STATIC_INFRAREDMAP);
CDC* pDC = pWnd->GetDC();
CWnd* pWnd_radar = GetDlgItem(IDC_STATIC_RADARMAP);
CDC* pDC_radar = pWnd_radar->GetDC();
CWnd* pWnd_mixture = GetDlgItem(IDC_STATIC_MIXTURE);
CDC* pDC_mixture = pWnd_mixture->GetDC();
CRect picRect_infrared;
GetDlgItem(IDC_STATIC_INFRAREDMAP)->GetWindowRect(&picRect_infrared);
CRect picRect_radar;
GetDlgItem(IDC_STATIC_RADARMAP)->GetWindowRect(&picRect_radar);
CRect picRect_mixture;
GetDlgItem(IDC_STATIC_MIXTURE)->GetWindowRect(&picRect_mixture);
////////////红外/////////////////////////////////////
tagPOINT pt[8]={{95,84},{125,101},{157,124},{173,155},{84,125},{101,125},{104,147},{135,123}};
for(i=0;i<8;i++)
{
pt[i].x=pt[i].x+rand()%50+10;
pt[i].x=pt[i].y+rand()%50+10;
}
CDC dcMem;
CBitmap bm;
GetClientRect(&picRect_infrared);
// rgn1.CreateRectRgnIndirect(picRect_infrared);
// InvalidateRect(&picRect_infrared);
// Step 1:为屏幕DC创建兼容的内存DC :CreateCompatibleDC()
dcMem.CreateCompatibleDC(pDC);
// Step 2:创建位图:CreateCompatibleBitmap()
bm.CreateCompatibleBitmap(pDC,picRect_infrared.Width(),picRect_infrared.Height());
dcMem.SelectObject(&bm);
// Step 3:把位图选入设备环境:SelectObject(),可以理解为选择画布
dcMem.FillSolidRect(picRect_infrared,pDC->GetBkColor());
//更改画笔颜色
dcMem.SelectObject(pen_red);
// 画图
for( i=0;i<8;i++)
{
dcMem.Ellipse(pt[i].x-10,pt[i].y-10,pt[i].x+10,pt[i].y+10);
}
//pDC->BitBlt(picRect_infrared.left,picRect_infrared.top,picRect_infrared.Width(),picRect_infrared.Height(),&dcMem,0,0,SRCCOPY);
//
tagPOINT pt1[8]={{95,84},{125,101},{157,124},{173,155},{84,125},{101,125},{104,147},{135,123}};
for(i=0;i<8;i++)
{
pt1[i].x=pt1[i].x+rand()%50+10;
pt1[i].x=pt1[i].y+rand()%50+10;
}
////////////雷达/////////////////////////////////////
CDC dcMem_radar;
CBitmap bm_radar;
GetClientRect(&picRect_radar);
// rgn2.CreateRectRgnIndirect(picRect_radar);
//InvalidateRect(&picRect_radar);
// Step 1:为屏幕DC创建兼容的内存DC :CreateCompatibleDC()
dcMem_radar.CreateCompatibleDC(pDC_radar);
// Step 2:创建位图:CreateCompatibleBitmap()
bm_radar.CreateCompatibleBitmap(pDC_radar,picRect_radar.Width(),picRect_radar.Height());
dcMem_radar.SelectObject(&bm_radar);
// Step 3:把位图选入设备环境:SelectObject(),可以理解为选择画布
dcMem_radar.FillSolidRect(picRect_radar,pDC_radar->GetBkColor());
//更改画笔颜色
dcMem_radar.SelectObject(pen_black);
// 画图
for( i=0;i<8;i++)
{
dcMem_radar.Ellipse(pt1[i].x-10,pt1[i].y-10,pt1[i].x+10,pt1[i].y+10);
}
////////////红外—雷达/////////////////////////////////////
CDC dcMem_mixture;
CBitmap bm_mixture;
GetClientRect(&picRect_mixture);
// rgn3.CreateRectRgnIndirect(picRect_mixture);
// InvalidateRect(&picRect_mixture);
// Step 1:为屏幕DC创建兼容的内存DC :CreateCompatibleDC()
dcMem_mixture.CreateCompatibleDC(pDC_mixture);
// Step 2:创建位图:CreateCompatibleBitmap()
bm_mixture.CreateCompatibleBitmap(pDC_mixture,picRect_mixture.Width(),picRect_mixture.Height());
dcMem_mixture.SelectObject(&bm_mixture);
// Step 3:把位图选入设备环境:SelectObject(),可以理解为选择画布
dcMem_mixture.FillSolidRect(picRect_mixture,pDC_mixture->GetBkColor());
//更改画笔颜色
dcMem_mixture.SelectObject(pen_black);
// 红笔画图
for( i=0;i<8;i++)
{
dcMem_mixture.Ellipse(pt1[i].x-10,pt1[i].y-10,pt1[i].x+10,pt1[i].y+10);
}
dcMem_mixture.SelectObject(pen_red);
// 黑笔画图
for( i=0;i<8;i++)
{
dcMem_mixture.Ellipse(pt[i].x-10,pt[i].y-10,pt[i].x+10,pt[i].y+10);
}
// Step 4:把绘制好的图形“拷贝”到屏幕上:BitBlt()
pDC->BitBlt(picRect_infrared.left,picRect_infrared.top,picRect_infrared.Width(),picRect_infrared.Height(),&dcMem,0,0,SRCCOPY);
pDC_radar->BitBlt(picRect_radar.left,picRect_radar.top,picRect_radar.Width(),picRect_radar.Height(),&dcMem_radar,0,0,SRCCOPY);
pDC_mixture->BitBlt(picRect_mixture.left,picRect_mixture.top,picRect_mixture.Width(),picRect_mixture.Height(),&dcMem_mixture,0,0,SRCCOPY);
dcMem.DeleteDC();
bm.DeleteObject();
dcMem_radar.DeleteDC();
bm_radar.DeleteObject();
dcMem_mixture.DeleteDC();
bm_mixture.DeleteObject();
//CRect rectClient;
// CRgn rgn1, rgn2,rgn3;
// GetClientRect();
// rgn1.CreateRectRgnIndirect();
// rgn2.CreateRectRgnIndirect();
// rgn1.CombineRgn(&rgn1, &rgn2, RGN_XOR);
// rgn1.CombineRgn(&rgn1, &rgn3, RGN_XOR);
// InvalidateRgn(&rgn1, TRUE);
//UpdateWindow();
}
void CLXTomDlg::OnPaint()
{
// SetRedraw(FALSE);
OnDraw();
//SetRedraw(TRUE);
CDialog::OnPaint();
}
BOOL CLXTomDlg::OnEraseBkgnd(CDC* pDC)
{
// return CDialog::OnEraseBkgnd(pDC);
return true;
}
贴吧:
mfc作者:
king2009637 2014-02-25 15:43