《Windows程序设计》第II部分关于图的那些事儿,该怎么学?
请教各位大神:《Windows程序设计》第II部分关于图的那些事儿是不是学习的重点,该怎么学习这一部分的内容?
学api就一个一个学用多了就会了。 还没学呢 当成最后一章再学吧。 先了解什么是HDC,然后掌握3种坐标系,接着了解GDI对象:PEN,BRUSH,FONT,BITMAP,RGN,以及跟他们有关的函数,最后学习透明图像技术,动画技术,透明动画,学习并运用不规则窗口,双缓冲防闪技术,最后如果能做出一个支持画线,矩形和椭圆形等图形的软件,大概就差不多了 #include "stdafx.h"
#include "resource.h"
HINSTANCE g_hInst;
void OnPaint(HWND hWnd)
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd,&ps);
//HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,"./Picture.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HBITMAP hBitmap = LoadBitmap(g_hInst,(LPCTSTR)IDB_BITMAP1);
BITMAP bm;
//获取图片信息
GetObject(hBitmap,sizeof(bm),&bm);
HDC dc = CreateCompatibleDC(hdc);
SelectObject(dc,hBitmap);
MoveWindow(hWnd,0,0,bm.bmWidth,bm.bmHeight,FALSE);
BitBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,dc,0,0,SRCCOPY);
//
RECT rect;
GetClientRect(hWnd,&rect);
Rectangle(hdc,100,100,300,500);
LineTo(hdc,100,100);
MoveToEx(hdc,300,500,NULL);
EndPaint(hWnd,&ps);
}
void OnInitDialog(HWND hwnd)
{
//HICON hIcon = (HICON)LoadImage(NULL,"./1.ico",IMAGE_ICON,0,0,LR_LOADFROMFILE);
HICON hIcon = LoadIcon(g_hInst,(LPCTSTR)IDI_ICON1);
::SendMessage(hwnd, WM_SETICON, FALSE, (LPARAM)hIcon);
SetWindowText(hwnd,"绘图测试");
}
void OnMouseMove(HWND hwnd)
{
HCURSOR hCursor = LoadCursor(g_hInst,(LPCTSTR)IDC_CURSOR1);
SetCursor(hCursor);
}
BOOL CALLBACK DialogProc(
HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
switch(uMsg) {
case WM_PAINT:
OnPaint(hwndDlg);
return TRUE;
case WM_INITDIALOG:
OnInitDialog(hwndDlg);
return TRUE;
case WM_MOUSEMOVE:
OnMouseMove(hwndDlg);
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDCANCEL:
EndDialog(hwndDlg,IDCANCEL);
return TRUE;
case IDOK:
return TRUE;
} 回帖是一种美德 看了就回一下 {:7_146:}
页:
[1]