设置系统图标
设置系设设设
设:我有一设设设个框,设有WS_SYSMENU设型,设示在口左上角的设设是口窗窗
的缺省设设 那设如何我才能把设成我自己的设设它?我能改设程序的主口窗
设设,但想改设设设 缺省的设设却一直不行框.
答:在你InitDialog中设设下面行设几?
HICON hIcon = AfxGetApp()->LoadIcon (IDD_SOMEICON);
SetIcon (hIcon, TRUE); // Set big icon 设置大设设
SetIcon (hIcon, FALSE); // Set small icon 设置小设设
2)在设设设源中找IDR_MAINFRAME ID,只要把按的意愿改设就可以了它你.不要忘了 32x32和16x16需同设改设.
使用DDE使用程序可以添加新的程序应应应应应应应应应应应应应
---- 当用程序安装完后,通常都会建立程序,它是怎的呢,应应应应应应应应应应应应应应应应应应应应应应应应应应应应应应
下面是一使用应应应DDE来添加新的程序的例子。应应应应应
---- 1.使用MFC新一目应应PMGROUP,框形式,,在框中添加三个应应应应应应应应应应应应应应应应Edit Box。---- 2.使用Class Wizard,添加成量应应应m_GroupName,m_ItemName,m_FileName,分应应应添加的三个Edit Box,它将容入的三个条目,名,名,的文件名,应应应应应应应应应应应应应应应应应应应应应应应应应应,
---- 3.在文件应应应STDAFX.H中,添加下列代:应应
#include < ddeml.h >
---- 4.在用程序应应应应应CPGROUPApp的InitInstance函数中,添加下列代:应应
BOOL CPMGROUPApp::InitInstance()
{
//...
//Initialze DDEML
DdeInitialize(&dwDDEInst,NULL,APPCMD_CLIENTONLY,0);if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
if(!AddPMGroup(dlg.m_GroupName,dlg.m_ItemName,dlg.m_FileName))
{
::MessageBox(NULL,"PMGroup:DDE Error","Erroradding group and item.",MB_ICONHAND|MB_OK);}
}
//...
}
---- 再应CPGROUPApp应应应应添加一个成量dwDDEInst:
---- DWORD dwDDEInst,,用鼠在应应ClassView的CPGROUPApp上点右,在应应应应应应出的菜
应应应应中取Add Member Variable,在中分入应应应应应应应DWORD和dwDDEInst,
---- 因它是一个以框基的用程序,当确定后,就用应应应应应应应应应应应应应应应应应应应应应应应应应应应应AddPMGroup来添加新的程序。因此要应应应应应应应CPGROUPApp应添加上AddPMGroup,用鼠在应应ClassView的CPGROUPApp上点右,在出的菜中取应应应应应应应应应应应应应应Add Member Function,在中分应应应应应应
入int和AddPMGroup。将生成的int CPMGROUPApp::AddPMGroup()改应intCPMGROUPApp::AddPMGroup(CString &group,CString &item,CString &file),在CPGROUPApp中将int AddPMGroup()改应int AddPMGroup(CString &group,CString
&item,CString &file),,AddPMGroup的内容:应应
int CPMGROOPApp::AddPMGroup(CString &group,CString &item,CString &file)
{
HSZ hszService=DdeCreateStringHandle(dwDDEInst,_T("PROGMAN"),CP_WINANSI);
HSZ hszTopic=DdeCreateStringHandle(dwDDEInst,_T("PROGMAN"),CP_WINANSI);
HCONV hConV=DdeConnect(dwDDEInst,hszTopic,hszService,NULL);
DdeFreeStringHandle(dwDDEInst,hszService);DdeFreeStringHandle(dwDDEInst,hszTopic);if(!hConV)
{
return FALSE;
}
//主要内容
CString cmd="[CreateGroup("+group+")]";//建立的命令字应应应应应
DWORD dwResult;
LPCTSTR data=(LPCTSTR)cmd;
DdeClientTransaction((LPBYTE)data,cmd.GetLength (),
hConV,NULL,CF_TEXT,XTYP_EXECUTE,
1000,&dwResult);
cmd="[AddItem("+file+","+item+")]";//建立"file"的,应应应"item"应应应的命令字
data=(LPCTSTR)cmd;
DdeClientTransaction((LPBYTE)data,cmd.GetLength (),
hConV,NULL,CF_TEXT,XTYP_EXECUTE,
1000,&dwResult);
return TRUE;
}
---- 5.使用Class Wizard应CPMGROUPApp添加一个ExitInstance函数,入下列代:应应应应应应应int CPMGROOPApp::ExitInstance()
{
// TODO: Add your specialized code here and/or call the base class
DdeUninitialize(dwDDEInst);
return CWinApp::ExitInstance();
}
---- 6.按F5运行,分入名、名、文件名,按确定看看。应应应应应应应应应应应应应应应应应应应
---- 7.当然我也可用其它命令字程序行其它操作:应应应应应应应应应应应应应应应应应应应应
---- [ShowGroup(My Group,1)]
---- 应应示并激活名My Group的窗口应应应
---- [DeleteGroup(My Group)]
---- 应应除名My Group的应
---- [ReloadGroup(My Group)]
---- 去除并重新装名应应应My Group的应
---- [Additem(HELLO.EXE,HELLO)]
---- 应HELLO.EXE应应应应应应应建,HELLO
---- [ReplaceItem(HELLO)]
---- 应应名HELLO的条目去除,并在里插入下一条目应应应应应应应应应应应应应
---- [DeleteItem(HELLO)]
---- 应应除名HELLO的条目
---- [ExitProgMan(1)]
---- 退出程序管理器,并存信息,应应应应0不存,