常見MFC函數
- 2020 年 11 月 21 日
- 筆記
1.MFC常用函數:
WinExec()
ExitWindowsEx()
GlobalMemoryStatus()
GetSystemInfo()
GetSystemDirectory()
GetWindowsDirectory()
GetTaskmanWindow() //user32.dll中 獲取任務欄窗口句柄
OpenProcessToken()打開一個進程的訪問令牌
GetCurrentProcess()獲取本進程句柄
LookupPrivilegeValue()修改進程權限
AdjustTokenProvileges()通知WindowsNT修改本進程權利
CreateRectRgn()
CreateEllipticRgnIndirect()
PtInRegion()
CommandToIndex()ID號轉換為索引值
菜單類:
DrawMenuBar()重畫菜單
SetDefaultItem()設置默認菜單項
CheckMenuItem()設置菜單項Check狀態
CreatePopupMenu()創建彈出菜單
窗口類:
MoveWindow()
Invalidate()使窗口無效,窗口無效時會進行窗口重繪
GetParent()獲得窗口的父窗口句柄
BringWindowToTop()把窗口放到頂部
SetWindowPos()
DeferWindowPos()
SetActiveWindow()激活頂層窗口
Set/GetForegroundWindow()設置/獲取前台窗口,返回句柄
Set/GetWindowLong()改變窗口屬性
GetNextWindow()獲取下一個窗口句柄
GetWindow()獲取窗口句柄
FromHandle()通過句柄獲取指針
AfxGetInstanceHandle()獲取程序當前實例句柄
AfxRegisterWndClass()
Set/GetClassLong()
Set/GetWindowLong()
GetWindowRect()獲取窗口在屏幕中的Rect
對話框:
GetDlgItem()
Set/GetDlgItemText()
Set/GetDlgItemInt()
Set/GetDlgItem()
SendDlgItemMessage()
SetFocus()文本編輯框Edit控件若要響應回車按鍵消息,必須設置為多行類型
GetNextDlgTabItem()獲取下一個有TABStop屬性的控件句柄
OnCtlColor()WM_CTLCOLOR窗口繪製消息響應函數
GetDlgCtrlID()
SetButtonText()設置按鈕文本CreateRectRgn
GetStartPosition()
GetNextPathName()
SetHorizontalExtent()
SHBrowseForFolder()
屬性表單:
SetWizardMode()
SetWizardButtons()
OnSetActive()
工具欄:
RecalcLayout()
ShowControlBar()
狀態欄:
CommandToIndex()根據ID號獲取索引值
SetMessageText()
GetMessageBar()
GetDescendantWindow()
圖形類
OnEraseBkgnd()
CButton::DrawItem()
SetBkMode()設置文字背景
SetTextColor()
SetBkColor()
SetROP2()
SetClipRtn()
DrawText()
BeginPath()
EndPath()
BeginPaint()
EndPaint()
GetTextExtend()
SetWorldTransform()
GetDeviceCaps()
Set/GetViewportOrg()
Set/GetWindowOrg()
DPtoLP()將設備坐標點轉換為邏輯坐標點
LPtoDP()將邏輯坐標點轉換為設備坐標點
DeleteMetaFile()
CopyMetaFile()
GetMetaFile()
GetEnhMetaFile()
void CView::OnPaint()
{
CPaintDC dc(this);
OnPrepareDC(&dc);
OnDraw(&dc);
}
文件操作:
EncryptFile()
CreateFile()
ReadFile()
WriteFile()
SetFilePointer()
::WriteProfileString()向win.ini寫入相關信息
::GetProfileString()從win.ini獲取相關信息
CWinApp::WriteProfileString()向註冊表中寫入相關信息
CWinApp::GetProfileString()從註冊表中獲取相關信息
::WritePrivateProfileString()
RegCreateKeyEx()創建註冊表項
RegCloseKey()關閉註冊表項
RegOpenKeyEx()打開註冊表項
RegSetValueEx()寫入註冊表項
RegQueryValueEx()讀取註冊表項
RegEnumKeyEx()
RegDeleteKey()
文檔視圖:
鉤子:
SetWindowsHookEx()
CallNextHookEx()
UnhookWindowsHookEx()
GetCurrentThreadID()
GetModuleHandle()
動態庫:
#pragma data_seg()
#pragma comment(linker,”/section:XXX,RWS”) R可讀W可寫S共享
SEGMENTS
XXX READ WRITE SHARED
MAKEINTRESOURCE()
GetProcAddress()獲取函數地址
LoadLibrary()加載Dll
FreeLibrary()減少Dll的引用計數
多線程:
CreateThread()
CloseHandle()
互斥:
CreateMutex()
ReleaseMutex()
WaitForSingleObject()
事件:
CreateEvent()
SetEvent()設置有信號狀態
ResetEvent()設置無信號狀態
臨界區:
EnterCriticalSection()
InitializeCriticalSection()
LeaveCriticalSection()
DeleteCriticalSection()
異步套接字:
WSAAsyncSelect()為一個套接字請求網絡消息通知
WSAEnumProtocols()檢索可用的網絡通信協議
WSASocket()
剪貼板:
OpenClipboard()打開剪貼板
CloseClipboard()關閉剪貼板
EmptyClipboard()清空剪貼板
SetClipboardData()
GetClipboardData()
GlobalAlloc()
GlobalLock()
GlobalUnlock()
IsClipboardFormatAvailable()
匿名管道:
CreatePipe()
CreateProcess()
CreateFile()
ReadFile()
WriteFile()
命名管道:
CreateNamedPipe()
ConnectNamedPipe()
WaitNamedPipe()
CreateFile()
ReadFile()
WriteFile()
郵槽:
CreateMailslot()
多媒體:
mciSendCommand()<mmsystem.h>
2.每個函數都自己單步調試一遍,就明白其中的原理,後續應用起來就非常方便了。
3.每天努力一點點,成功就近一點點,未來可期。
改變自己,從現在做起———–久館