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