windows程序设计复习

windows程序设计复习,第1张

《Window程序设计》上册复习:

__stdcall __cdecl WideCharToMultiByte MultiByteToWideChar

多字节字符集与Unicode:IsTextUnicode

TCHARh _tcslen(wcslen and strlen)

TCHAR(wchar_t and char) _T,_TEXT,L

Unicode/Ansi : lstrlen lstrcpy lstrcpyn lstrcat lstrcmp lstrcmpi

vsprintf wsprintf wvsprintf _vsntprintf

va_list, va_start, va_arg, va_end

PlaySound ScrollWindow ScrollDC

InvalidateRect InvalidateRgb

GetTextMetrics(get text metrics from dc) GetTextFace(Set)

GetClientDC GetWindowDC

SetScrollRange SetScrollPos SetScrollSizes SetScrollInfo

WM_PAINT:BeginPaint函数调用使dc区域变为有效

CreateCompatibleDC GetDeviceCaps SetTextAlign

图形绘制函数:SetPixel(GetPixel)

TextOut

LineTo Polyline(no fill)/Polygon(fill) PolylineTo PolyPolyline Arc

PolyBezier PolyBezierTo

ArcTo AngleArc PolyDraw

Ellipse Rectangle RoundRect Chord Pie

CreatePen CreatePenIndirect GetObject SelectObject DeleteObject(hPen)

SetBkColor SetTextColor SetBkMode SetROP2(GetROP2) SetPolyFillMode

CreateBrushIndirect CreateSolidBrush CreateHatchBrush

CreatePatternBrush CreateDIBPatternBrushPt(create brush base on bitmap)

SetMapMode(GetMapMode) SetWindowExtEx DPtoLP LPtoDP

GetClientRect

SetViewportOrgEx SetWindowOrgEx

区域和剪裁:

FillRect FrameRect InvertRect(矩形所有象素颜色翻转)

SetRect OffsetRect InflateRect SetRectEmpty CopyRect

IntersectRect(交集) UnionRect IsRectEmpty PtInRect

CreateRectRgn(创建一个区域时,取得该区域的句柄) CreateRectRgnIndirect

CreateEllipticRgn CreateEllipticRgnIndirect

CreatePolygonRgn CombineRgn

区域的句柄可用于下4个绘图函数:FillRgn FrameRgn InvertRgn PaintRgn

(you must use DeleteObject(hRgn) to delete after not use the region which you create)

键盘:GetKeyState GetAsyncKeyState GetKeyNameText

ScreenToClient ClientToScreen CreateCaret SetCaretPos ShowCaret

windowclass cs | = CS_DBLCLKS;

鼠标:WM_NCHITTEST ShowCursor GetCursorPos(SetCursorPos)

SetCapture ReleaseCapture

SetWindowLong(GetWindowLong) SetClassLong(GetClassLong)

SetFocus(GetFocus) GetDlgItem WM_SETFOCUS WM_KILLFOCUS

SystemParametersInfo DrawBoxOutline

计时器:SetTimer KillTimer WM_TIMECHANGE

GetLocalTime(SetLocalTime) GetSystemTime(SetSystemTime)

GetDateFormat GetLocaleInfo

GetParent GetDlgCtrlID IsWindowVisible

按钮:BS_OWNERDRAW

通知码:BN_SETFOCUS 发送消息:BM_SETCHECK BM_SETIMAGE

GetSysColors(SetSysColors) ScrollWindow

按钮绘制:WM_CTLCOLORBTN 自画风格:BS_OWNERDRAW WM_DRAWITEM消息

WM_CTLCOLORBTN:很少使用

WM_ERASEBKGND:return TRUE;

WM_PAINT:窗口不响应

WM_DRAWITEM:自画

SetClassLong (hWnd, GCL_HBRBACKGROUND, (LONG)CreateSolidBrush())

WM_CTLCOLORSCROLLBAR(返回背景颜色)

WM_CTLCOLORSTATIC(用SetTextColor和SetBkColor设置前景和背景颜色)

WM_SYSCOLORCHANGE

文本编辑框:通知码:EN_SETFOCUS EN_KILLFOCUS EN_CHANGE EN_UPDATE

消息:EM_GETSEL EM_SETSEL EM_GETLINECOUNT EM_LINEINDEX

EM_LINELENGTH EM_GETLINE

重画标志:WM_SETREDRAW(TRUE/FALSE)

列表框:LB_RESETCONTENT LB_DELETESTRING LB_ADDSTRING LB_INSERTSTRING etc

强大的消息:LB_DIR

通知码:LBN_SELCHANGE LBN_KILLFOCUS etc GetEnvironmentStrings

GetCurrentDirectory

菜单及资源:DrawIcon AnsiNext LockResource(LoadResource(FindResource))

CreateMenu AppendMenu DeleteMenu InsertMenu ModifyMenu RemoveMenu

EnableMenuItem IsClipboardFormatAvaliable

DrawMenuBar GetSubMenu GetMenuItemCount GetMenuItemID CheckMenuItem

GetMenuString GetMenuState DestroyMenu TrackPopupMenu LoadMenu SetMenu

加速键:LoadAccelerators RegisterHotKey TranslateAccelerator

模态对话框:DialogBox DialogBoxIndirect DialogBoxParam

处理WM_INITDIALOG消息,退出用EndDialog

SendDlgItemMessage CheckRadioButton CheckDlgButton IsDlgButtonChecked

非模态对话框:CreateDialog CreateDialogIndirect ShowWindow SetDlgItemText

消息处理,在主窗口消息循环中加入:IsDialogMessage

通用对话框:GetOpenFileName GetSaveFileName ChooseColor

FindText ReplaceText

MSDN Examples:Using Common Dialog Boxes

RegisterWindowMessage

内存分配:GlobalAlloc GlobalReAlloc GlobalSize GlobalFree(GlobalHandle(p));

GlobalLock GlobalUnlock CopyMemory

剪贴板:OpenClipboard EmptyClipboard SetClipboardData CloseClipboard

GetClipboardData IsClipboardFormatAvailable EnumClipboardFormats

CountClipboardFormats RegisterClipboardFormat GetClipboardFormatName

剪贴板Hook:SetClipboardViewer(hWnd)-->WM_DRAWCLIPBOARD)

UnHook: ChangeClipboardChain

GetClipboardViewer WM_CHANGECBCHAIN WM_DRAWCLIPBOARD

《Window程序设计》下册复习:

打印机:CreateDC PrintDlg StartDoc StartPage EndPage EndDoc

EnumPrinters GetVersion(Ex) WM_SETTINGCHANGE WM_INITMENUPOPUP

OpenPrinter PrinterProperties CreateIC GetPrinterDC

SetAbortProc(use callback to abort print task) WM_SETTINGCHANGE

设备有关位图

CreateBitmap CreateBitmapIndirect

BitBlt StretchBlt SetStretchBltMode PatBlt

SetBitmapBits GetBitmapBits

CreatePatternBrush CreateBrush CreateBrushIndirect

WM_DISPLAYCHANGE CreateCompatibleDC(内存dc作图原理)

GetSystemBmenu AppendMenu:插入位图菜单 GetTextExtentPoint32

LockWindowUpdata(GetDesktopWindow Or Other Or NULL) GetDCEx

设备无关位图:

BITMAPFILEHEADER BITMAPCOREHEADER SetFilePointer SetEndOfFile

CreateFile GetFileSize CloseHandle SetCursor ShowCursor

SetDIBitsToDevice StretchDIBits 掌握dib格式及显示方法

CreateDIBitmap(create ) SetDIBits(init pixels)这两个函数从dib到ddb

GetDIBits 从ddb到dib

DIB: 文件或内存块

DDB:gdi位图对象,并由位图句柄表示

CreateDIBSection :create a DIB,reture a handle of dib data section,not gdi

(windows重要函数:指向设备无关位图,但是返回的句柄又可用设备有关函数的 *** 作)

显示dib的三种方法

①用SetDIBitsToDevice或StretchDIBits将dib直接显示在屏幕,速度慢

②用CreateDIBitmap和SetDIBits把DIB转换成DDB,然后用BitBlt或StretchBlt显示

③用CreateDIBSection创建DIB部分,然后使用BitBlt或StretchBlt显示

GdiFlush

调色板:CreatePalette SelectPalette RealizePalette UpdateColors

本章不太感兴趣,以后在网络上看到相关文章时再去学习,:)

文本与字体:

TrueType:轮廓字体技术

TextOut TabbedTextOut ExtTextOut DrawText DrawTextEx

SetTextColor SetBKMode SetBkColor SetTextCharacterExtra

GDI 字体:点阵,笔画,TrueType

设备字体:硬件内置的设备字体(打印机)

CreateFont CreateFontIndirect(旋转字体)

SetGraphicsMode SetMapperFlags ModifyWorldTransform

EnumFontFamilies SetTextJustification

GetDialogBaseUnits GetTextExtentPoint32(get text width and height)

程序需仔细调试,特别是那个换行打印的程序

ExtCreatePen(use logical brush) BeginPath(这两个函数中间画轮廓字)EndPath

StrokePath StrokeAndFillPath

元文件:CreateMetaFile CloseMetaFile DeleteMetaFile/DeleteFile

PlayMetaFile SetMetaFileBitsEx

本章不太感兴趣,以后在网络上看到相关文章时再去学习,:)

多文档界面:程序需要仔细调试,重要的咚咚

hClient=GetWindow(hFrame,GW_CHILD)

一个视窗类:MDICLIENT

五个函数:DefFrameProc DefMDIChildProc TranslateMDISysAccel

两个结构体:CLIENTCREATESTRUCT(这个客户视窗覆盖框架视窗的显示区域 )

MDICREATESTRUCT(以一个指向此结构的指标为参数将讯息WM_MDICREATE发送给客户视窗,用来创建子视窗)

十二个消息:

WM_MDICREATE 创建子视窗的消息,返回这个子窗口句柄

WM_MDIGETACTIVE 取得活动的子窗口句柄

WM_MDIDESTROY 销毁MDI子窗口(句柄可通过上消息取得)

WM_MDITILE

WM_MDICASCADE

WM_MDIICONARRANGE

WM_MDIRESTORE 恢复子窗口状态

WM_MDISETMENU 设置框架菜单

线程:CreateThread _beginthread

CRITICAL_SECTION EnterCriticalSection LeaveCriticalSection

DeleteCriticalSection CreateEvent ResetEvent WaitForSingleObject

每个线程有自己的堆栈 TlsAlloc TlsSetValue() TlsGetValue TlsFree

__declspec(thread) extern "C"缘由(C要大写!)

DLL:

dll入/出口点: DLL_PROCESS_ATTACH,etc

DLL共享内存:为dll创建共享节。#pragma data_seg("shared")

/section:shared,RWS

LoadLibrary FreeLibrary GetProcAddress

声音与音乐:mciSendString waveOut

领略Internet:

void MyRegisterClass() //注册窗体类 { WNDCLASSEX wcex; wcexcbSize = sizeof(WNDCLASSEX); wcexstyle = CS_HREDRAW | CS_VREDRAW; wcexlpfnWndProc = NULL/(WNDPROC)WndProc/; wcexcbClsExtra = 0; wcexcbWndExtra = 0; wcexhInstance = _Modulem_hInst/hInstance/; // COM组件,取应用程序对象 wcexhCursor = LoadCursor(NULL, IDC_ARROW); wcexhbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcexlpszClassName = _T("test"); RegisterClassEx(&wcex); } /省略代码/ videownd = CreateWindow(_T("test"), /_T("static")/ _T("vlc Mediaplayer 1"), WS_CHILD|WS_CLIPCHILDREN|WS_VISIBLE, 10, 10, 450, 450, m_hWndCD, /父窗体对象/ 0, NULL, NULL); ::ShowWindow(videownd, SW_SHOW);

以上就是关于windows程序设计复习全部的内容,包括:windows程序设计复习、C++中,MDI树状导航子窗口问题,创建子窗口显示不了、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9313451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存