认识VC++类向导的使用
VC++類向導很多時候用來添加消息處理函數;下面看兩個例子;
開發環境VC6,Win7;
?
先新建一個單文檔工程;
選擇菜單中的 查看-建立類向導;
在類向導對話框中,消息映射選項卡,Class name,下拉選中應用程序類CTest1App;
在消息列表中選中InitInstance;看一下Member functions,當前應用程序類已經有InitInstance消息的處理函數InitInstance;
點? Edit Code 按鈕;進入到該成員函數的代碼;
將以下代碼添加到 CTest1App::InitInstance() 函數的開始部分;
自
AfxEnableControlContainer();
之后,都是框架原有的代碼;添加代碼的功能是使程序只運行一個實例;
// 創建互斥量HANDLE m_hMutex = CreateMutex(NULL, FALSE, "test1");// 如果程序已經存在并且正在運行if(GetLastError()==ERROR_ALREADY_EXISTS){// 如果已有互斥量存在則釋放句柄并復位互斥量CloseHandle(m_hMutex);m_hMutex=NULL;AfxMessageBox("您已經運行了本軟件!");return FALSE;}運行結果如圖;
?
下面再看一個例子;
在主框架菜單中添加一個菜單 菜單測試;記住自動生成的菜單ID;?
進入類向導;選中Class name為視類,CTest1View;對象ID中選中剛才添加的菜單ID;Messages中選中 COMMAND;
點擊 Add Function...;
為該菜單自動生成一個成員函數名,可以更改;先不更改,點擊OK;
自動進入視類中該函數的代碼;然后添加一些代碼;如下;
void CTest1View::OnMenuitem32771()?
{
?? ?// TODO: Add your command handler code here
?? ?CDC * pDC=GetDC();
?? ?pDC->TextOut(50,50,"TEST1 !!!");
}
大括號中的2句代碼是手動添加的;
運行程序,如圖;
?
?
?
?
?
總結
以上是生活随笔為你收集整理的认识VC++类向导的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC++文件编程操作实例
- 下一篇: VC++ 视图类基本编程