⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mstretch.c

📁 神龙卡开发原代码
💻 C
字号:
/* * Copyright (c) 2001 Greg Haerr <greg@censoft.com> * * Demo program for StretchBlt */#define MWINCLUDECOLORS#include "windows.h"#include "device.h"extern MWIMAGEHDR image_penguin;PMWIMAGEHDR image = &image_penguin;#define APPCHILD	"test2"/* forward decls*/LRESULT CALLBACK ChildWndProc(HWND hwnd,UINT uMsg,WPARAM wp,LPARAM lp);intRegisterAppClass(void){	WNDCLASS	wc;	wc.style = CS_DBLCLKS | CS_VREDRAW | CS_HREDRAW;	wc.lpfnWndProc = (WNDPROC)ChildWndProc;	wc.cbClsExtra = 0;	wc.cbWndExtra = 0;	wc.hInstance = 0;	wc.hIcon = 0; /*LoadIcon(GetHInstance(), MAKEINTRESOURCE( 1));*/	wc.hCursor = 0; /*LoadCursor(NULL, IDC_ARROW);*/	wc.hbrBackground = (HBRUSH)GetStockObject(LTGRAY_BRUSH);	wc.lpszMenuName = NULL;	wc.lpszClassName =  APPCHILD;	return RegisterClass( &wc);}LRESULT CALLBACKChildWndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp){	HDC		hdcMem;	HBITMAP		hbmp, hbmpOrg;	RECT		rc;	PAINTSTRUCT	ps;	switch(msg) {	case WM_PAINT:		BeginPaint(hwnd, &ps);		GetClientRect(hwnd, &rc);		/* redirect painting to offscreen dc*/		hdcMem = CreateCompatibleDC(ps.hdc);		hbmp = CreateCompatibleBitmap(hdcMem, image->width, image->height);		hbmpOrg = SelectObject(hdcMem, hbmp);		/* draw onto offscreen dc*/		DrawDIB(hdcMem, 0, 0, image);		/* stretch blit offscreen with physical screen*/		StretchBlt(ps.hdc, 0, 0, rc.right, rc.bottom, hdcMem,			0, 0, image->width, image->height, MWROP_SRCCOPY);		DeleteObject(SelectObject(hdcMem, hbmpOrg));		DeleteDC(hdcMem);		EndPaint(hwnd, &ps);		break;	default:		return DefWindowProc( hwnd, msg, wp, lp);	}	return 0;}int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,	int nShowCmd){	MSG 	msg;	RECT	rc;	RegisterAppClass();	GetWindowRect(GetDesktopWindow(), &rc);	/* create penguin windows*/	CreateWindowEx(0L, APPCHILD, "", WS_BORDER | WS_VISIBLE,		10, 10, 50, 50,		GetDesktopWindow(), (HMENU)1000, NULL, NULL);	CreateWindowEx(0L, APPCHILD, "", WS_BORDER | WS_VISIBLE,		10, 70, 200, 200,		GetDesktopWindow(), (HMENU)1001, NULL, NULL);	/* type ESC to quit...*/	while( GetMessage(&msg, NULL, 0, 0)) {		TranslateMessage(&msg);		DispatchMessage(&msg);	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -