AppFace For VC 鏀寔Win9X/NT/2K/XP,UNICODE/ANSI,鑳藉瀵圭洰鏍囪繘紼嬮噷鐨勬墍鏈?span>Widows鏍囧噯鎺т歡,緋葷粺鑿滃崟,閫氱敤瀵硅瘽妗嗙瓑瀹炵幇鎹㈣偆錛屽闈炲晢涓氱敤閫旇岃█錛屽畠鏄畬鍏ㄥ厤璐圭殑銆傚叧閿殑鏄?span>AppFace鐨勪嬌鐢ㄩ潪甯哥畝鍗?span>,寰堝鏄撴坊鍔犲埌宸叉湁鐨勫伐紼嬩腑銆傚彲浠ュ埌瀹冪殑緗戠珯 http://www.appface.com 鍘諱笅杞芥渶鏂扮増鏈?銆?
AppFace 鏀寔涓夌鐨偆鍔犺澆鏂瑰紡,浠庣鐩樻枃浠跺姞杞斤紝浠庤祫婧愬姞杞斤紝浠庡唴瀛樺姞杞姐備笅闈㈡垜灝辮璇村浣曚粠璧勬簮鍔犺澆URF鐨偆鏂囦歡:
棣栧厛錛岃紜繚浣犱笅杞戒簡AppFace for VC 寮鍙戝寘錛屾垜浠鐢ㄥ埌鍏朵腑鐨勪笁涓枃浠?span>: "appface.h", "appface.dll" ,"gtclassic.urf" 銆?/p>
鎺ョ潃錛屽垱寤轟竴涓?span> VC 鍙墽琛屾枃浠跺伐紼?span>, MDI/SDI/DIALOG/WIN32 綾誨瀷鐨勯兘鍙互,鎴戜互鍒涘緩涓涓?span>DIALOG 宸ョ▼ ResSkin 榪涜璇存槑 銆傚皢"appface.h" 鎷瘋礉鍒拌宸ョ▼鐩綍涓?span>,灝?span>"Appface.dll"鎷瘋礉鍒拌宸ョ▼鐨勮緭鍑虹洰褰曚笅,渚嬪:"debug\",灝?span>"gtclassic.urf"鎷瘋礉鍒拌祫婧愭墍鍦ㄧ洰褰曚笅銆傚湪VC 鐨勯」鐩鐞嗗櫒涓繘鍏ヨ祫婧愮鐞嗛」,鍦ㄥ彸閿彍鍗曚腑閫夋嫨"Import",灝?span>"gtclassic.urf"娣誨姞榪涘伐紼?span>,璧勬簮綾誨瀷璁懼畾涓?span>: "MYRESTYPE",璧勬簮ID璁懼畾涓?span>"IDR_MY_URF"銆傛敞鎰?span>:璧勬簮ID 鍓嶉潰涓瀹氳鍔犲弻寮曞彿 銆?
鍑嗗宸ヤ綔鍏ㄩ儴瀹屾垚浜?span>,鐜板湪榪涘叆姝i:
1.鍦?span>ResSkin.cpp 涓姞鍏?span>: #include "appface.h"
2.鍦?span>CResSkinApp::InitInstance() 鎴愬憳鍑芥暟涓坊鍔犲涓嬩唬鐮?
CResSkinApp::InitInstance()
{
...
CAppFace af ; //line 1
af.Start(_T("IDR_MY_URF"),GTP_LOAD_RESOURCE,NULL,_T("MYTYPE"),NULL) ; //line 2
CResSkinDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
...
af.Remove() ; //line 3
}
緙栬瘧... 涓鍒囨悶瀹?span> !
3. 涓婇潰鏄畼鏂圭殑鍋氭硶,鐢變簬appface 涔熸敮鎸佷粠鍐呭瓨涓姞杞?span>urf,鎵浠ユ偍涔熷彲浠ヨ繖鏍峰仛:
CResSkinApp::InitInstance()
{
...
CAppFace af ; //Init
//Load
if(HRSRC hr = ::FindResource(NULL,"IDR_MY_URF","MYTYPE"))
{
ULONG nResSize = ::SizeofResource(NULL,hr) ;
if(HGLOBAL hz = ::LoadResource(NULL,hr))
{
char* p = (char*)LockResource(hz);
if(p)
af.Start(p,GTP_LOAD_MEMORY,nResSize,NULL,NULL) ;
}
}
CResSkinDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
...
af.Remove() ; //Release
}
浣犲彲浠ヤ嬌鐢ㄨ繖縐嶆柟娉曚粠璧勬簮涓姞杞藉叾瀹冩暟鎹?/p>
闇瑕佹敞鎰忕殑鏄?span>: 濡傛灉灝?span>URF娣誨姞榪涜祫婧愭椂,璧勬簮ID娌℃湁鐢ㄥ弻寮曞彿鎷搗鏉?span>, 鍔犺澆鏃跺繀欏昏繖鏍峰啓:
af.Start(_T("IDR_MY_URF"),GTP_LOAD_RESOURCE,NULL,MAKEINTRESOURCE(_T("MYTYPE")),NULL)) ; //line 2
娣誨姞“鎹㈢毊鑲?span>“鎸夐挳
娣誨姞涓涓?span>Button錛屾秷鎭搷搴斿嚱鏁板涓?span>
void CChatDlg::OnButton2()
{
x++; //鍏ㄥ眬鍙橀噺錛?/span>static int x=3;
int x1;
x1=x%3;
if(x1==1)
{
CAppFace af ;
af.Start(_T("IDR_MY_URF1"),GTP_LOAD_RESOURCE,NULL,_T("MYTYPE"),NULL) ;
this->MoveWindow(81,75,870,602);
}
if(x1==2)
{
CAppFace af ;
af.Start(_T("IDR_MY_URF2"),GTP_LOAD_RESOURCE,NULL,_T("MYTYPE"),NULL) ;
this->MoveWindow(81,75,854,595);
}
if(x1==0)
{
CAppFace af ;
af.Start(_T("IDR_MY_URF"),GTP_LOAD_RESOURCE,NULL,_T("MYTYPE"),NULL) ;
this->MoveWindow(81,75,865,602);
}
}