windows程序设计复习

[复制链接]
查看11 | 回复0 | 2008-1-25 16:46:58 | 显示全部楼层 |阅读模式
《Window程序设计》上册复习:__stdcall
__cdecl WideCharToMultiByte MultiByteToWideChar多字节字符集与Unicode:IsTextUnicode TCHAR.h
_tcslen(wcslen and strlen)TCHAR(wchar_t and char) _T,_TEXT,LUnicode/Ansi : lstrlenlstrcpy lstrcpynlstrcatlstrcmplstrcmpivsprintf wsprintfwvsprintf_vsntprintfva_list, va_start, va_arg, va_endPlaySound
ScrollWindow ScrollDCInvalidateRect
InvalidateRgbGetTextMetrics(get text metrics from dc) GetTextFace(Set...)GetClientDC
GetWindowDCSetScrollRange SetScrollPos SetScrollSizes SetScrollInfoWM_PAINT:BeginPaint函数调用使dc区域变为有效CreateCompatibleDC GetDeviceCaps
SetTextAlign图形绘制函数:SetPixel(GetPixel)TextOutLineTo
Polyline(no fill)/Polygon(fill) PolylineToPolyPolyline Arc PolyBezier PolyBezierToArcTo AngleArc PolyDrawEllipse Rectangle RoundRectChordPieCreatePen CreatePenIndirect GetObject SelectObject DeleteObject(hPen)SetBkColorSetTextColor SetBkMode SetROP2(GetROP2)
SetPolyFillModeCreateBrushIndirect CreateSolidBrush CreateHatchBrushCreatePatternBrush
CreateDIBPatternBrushPt(create brush base on bitmap)SetMapMode(GetMapMode) SetWindowExtEx
DPtoLP LPtoDPGetClientRectSetViewportOrgEx
SetWindowOrgEx区域和剪裁:FillRect
FrameRect
InvertRect(矩形所有象素颜色翻转)
SetRect OffsetRect
InflateRect
SetRectEmpty CopyRect
IntersectRect(交集) UnionRect
IsRectEmpty
PtInRectCreateRectRgn(创建一个区域时,取得该区域的句柄)
CreateRectRgnIndirectCreateEllipticRgn
CreateEllipticRgnIndirectCreatePolygonRgn CombineRgn区域的句柄可用于下4个绘图函数:FillRgn FrameRgn InvertRgn PaintRgn(you must use DeleteObject(hRgn) to delete after not use the region which you create)键盘:GetKeyState
GetAsyncKeyState GetKeyNameTextScreenToClient
ClientToScreen
CreateCaret SetCaretPos ShowCaretwindowclass cs | = CS_DBLCLKS;鼠标:WM_NCHITTEST
ShowCursor
GetCursorPos(SetCursorPos)SetCapture ReleaseCapture SetWindowLong(GetWindowLong) SetClassLong(GetClassLong)SetFocus(GetFocus)
GetDlgItem
WM_SETFOCUS
WM_KILLFOCUSSystemParametersInfo
DrawBoxOutline 计时器:SetTimer
KillTimer
WM_TIMECHANGEGetLocalTime(SetLocalTime)
GetSystemTime(SetSystemTime)GetDateFormat
GetLocaleInfo GetParent GetDlgCtrlID IsWindowVisible按钮:BS_OWNERDRAW通知码:BN_SETFOCUS发送消息:BM_SETCHECKBM_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_LINEINDEXEM_LINELENGTH
EM_GETLINE 重画标志:WM_SETREDRAW(TRUE/FALSE)列表框:LB_RESETCONTENTLB_DELETESTRINGLB_ADDSTRING LB_INSERTSTRINGetc强大的消息:LB_DIR通知码:LBN_SELCHANGE
LBN_KILLFOCUS etc
GetEnvironmentStringsGetCurrentDirectory
菜单及资源:DrawIcon
AnsiNext
LockResource(LoadResource(FindResource))CreateMenuAppendMenuDeleteMenuInsertMenuModifyMenuRemoveMenuEnableMenuItem IsClipboardFormatAvaliableDrawMenuBar GetSubMenu GetMenuItemCount GetMenuItemIDCheckMenuItemGetMenuStringGetMenuStateDestroyMenu TrackPopupMenu LoadMenu SetMenu加速键:LoadAccelerators RegisterHotKey TranslateAccelerator 模态对话框:DialogBox DialogBoxIndirectDialogBoxParam处理WM_INITDIALOG消息,退出用EndDialogSendDlgItemMessage CheckRadioButton CheckDlgButtonIsDlgButtonChecked非模态对话框:CreateDialog CreateDialogIndirect ShowWindow SetDlgItemText消息处理,在主窗口消息循环中加入:IsDialogMessage通用对话框:GetOpenFileName GetSaveFileNameChooseColorFindText ReplaceTextMSDN Examples:Using Common Dialog BoxesRegisterWindowMessage 内存分配:GlobalAllocGlobalReAllocGlobalSize GlobalFree(GlobalHandle(p));GlobalLockGlobalUnlock CopyMemory 剪贴板:OpenClipboardEmptyClipboard SetClipboardDataCloseClipboardGetClipboardDataIsClipboardFormatAvailableEnumClipboardFormatsCountClipboardFormatsRegisterClipboardFormatGetClipboardFormatName剪贴板Hook:SetClipboardViewer(hWnd)-->WM_DRAWCLIPBOARD)UnHook: ChangeClipboardChainGetClipboardViewer WM_CHANGECBCHAIN
WM_DRAWCLIPBOARD 《Window程序设计》下册复习: 打印机:CreateDCPrintDlgStartDocStartPageEndPageEndDocEnumPrintersGetVersion(Ex)
WM_SETTINGCHANGE WM_INITMENUPOPUPOpenPrinterPrinterPropertiesCreateIC GetPrinterDCSetAbortProc(use callback to abort print task) WM_SETTINGCHANGE 设备有关位图:CreateBitmapCreateBitmapIndirectBitBlt StretchBlt SetStretchBltModePatBltSetBitmapBitsGetBitmapBitsCreatePatternBrush CreateBrush CreateBrushIndirectWM_DISPLAYCHANGE
CreateCompatibleDC(内存dc作图原理)GetSystemBmenu
AppendMenu:插入位图菜单GetTextExtentPoint32LockWindowUpdata(GetDesktopWindow Or Other Or NULL)GetDCEx 设备无关位图:BITMAPFILEHEADER
BITMAPCOREHEADER
SetFilePointer SetEndOfFileCreateFile GetFileSize
CloseHandle SetCursor ShowCursorSetDIBitsToDevice StretchDIBits掌握dib格式及显示方法CreateDIBitmap(create ) SetDIBits(init pixels)这两个函数从dib到ddbGetDIBits从ddb到dibDIB: 文件或内存块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 SelectPaletteRealizePalette UpdateColors
本章不太感兴趣,以后在网络上看到相关文章时再去学习,:) 文本与字体:TrueType:轮廓字体技术TextOut TabbedTextOutExtTextOutDrawTextDrawTextExSetTextColorSetBKModeSetBkColorSetTextCharacterExtraGDI 字体:点阵,笔画,TrueType设备字体:硬件内置的设备字体(打印机)CreateFontCreateFontIndirect(旋转字体)SetGraphicsModeSetMapperFlags ModifyWorldTransform EnumFontFamilies
SetTextJustificationGetDialogBaseUnits GetTextExtentPoint32(get text width and height)程序需仔细调试,特别是那个换行打印的程序ExtCreatePen(use logical brush) BeginPath(这两个函数中间画轮廓字)EndPathStrokePath StrokeAndFillPath 元文件:CreateMetaFile CloseMetaFileDeleteMetaFile/DeleteFilePlayMetaFile
SetMetaFileBitsEx
本章不太感兴趣,以后在网络上看到相关文章时再去学习,:) 多文档界面:程序需要仔细调试,重要的咚咚hClient=GetWindow(hFrame,GW_CHILD)一个视窗类:MDICLIENT五个函数:DefFrameProc
DefMDIChildProc TranslateMDISysAccel两个结构体:CLIENTCREATESTRUCT(这个客户视窗覆盖框架视窗的显示区域 )
MDICREATESTRUCT(以一个指向此结构的指标为参数将讯息WM_MDICREATE发送给客户视窗,用来创建子视窗)十二个消息:WM_MDICREATE
创建子视窗的消息,返回这个子窗口句柄WM_MDIGETACTIVE
取得活动的子窗口句柄WM_MDIDESTROY
销毁MDI子窗口(句柄可通过上消息取得)WM_MDITILE
WM_MDICASCADEWM_MDIICONARRANGEWM_MDIRESTORE
恢复子窗口状态WM_MDISETMENU
设置框架菜单 线程:CreateThread _beginthreadCRITICAL_SECTION EnterCriticalSectionLeaveCriticalSectionDeleteCriticalSection
CreateEvent ResetEventWaitForSingleObject每个线程有自己的堆栈 TlsAlloc TlsSetValue() TlsGetValueTlsFree__declspec(thread) extern "C"缘由(C要大写!) DLL:dll入/出口点: DLL_PROCESS_ATTACH,etcDLL共享内存:为dll创建共享节。#pragma data_seg("shared")/section:shared,RWSLoadLibraryFreeLibrary GetProcAddress 声音与音乐:mciSendString
waveOut...领略Internet:...参考资料:http://user.qzone.qq.com/282800535

已赞过已踩过<
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行