主题:[delphi]编程技巧
1.如何获取应用程序的实例句柄
应用程序的实例句柄保存在CWinAppIm_hInstance中,用户可以调用AfxGetInstanceHandle获取句柄。
HANDLE hInstance =AfxGetInstanceHandle();
2.如何在代码中获取应用程序主窗口的指针
主框窗口的指针保存在CwinThread:: m_pMaiWnd中,可以调用AfxGetMainWnd来获取。下面的例子使应用程序极小化:
AfxGetMainWnd ()->ShowWindow(SW_SHOWWMINMIZED);
3. 运行时如何获得其它应用程序的图标
图标是DLL或者应用程序的执行文件的资源,应用程序可以调用新的SDK函数SHGetFileInfo或者原先的ExtractIcon函数来获取图变资源的句柄,也可以使用SHGetFileInfo函数获取文件的其它信息,如大小图标、文件属性以及文件类型。下面的例子使用了这两个函数在一个显示窗口的左上角显示笔记本的图标:
Void CsampleView::OnDraw (CDC*Pdc)
{
If (::SHGetFileInfo(_T(“c:\\windows\\notepad.exe”),0, &stFileInfo,sizeof(stFileInfo),SHGFI_ICON))
{
pDC->DrawIcon(10,10,stFileInfo.hIcon);
}
}
void CsampleView::onDraw(CDC*Pdc)
{
HICON hIcon=::ExtractIcon(
AfxGetInstanceHandle(),_T(“notepad.exe”),0);
If (hIcon && hIcon!=(HICON)-1)
pDC->DrawIcon(10,10,hIcon);
}
http://www.aaiso.com/blog/more.asp?name=skyjhz
应用程序的实例句柄保存在CWinAppIm_hInstance中,用户可以调用AfxGetInstanceHandle获取句柄。
HANDLE hInstance =AfxGetInstanceHandle();
2.如何在代码中获取应用程序主窗口的指针
主框窗口的指针保存在CwinThread:: m_pMaiWnd中,可以调用AfxGetMainWnd来获取。下面的例子使应用程序极小化:
AfxGetMainWnd ()->ShowWindow(SW_SHOWWMINMIZED);
3. 运行时如何获得其它应用程序的图标
图标是DLL或者应用程序的执行文件的资源,应用程序可以调用新的SDK函数SHGetFileInfo或者原先的ExtractIcon函数来获取图变资源的句柄,也可以使用SHGetFileInfo函数获取文件的其它信息,如大小图标、文件属性以及文件类型。下面的例子使用了这两个函数在一个显示窗口的左上角显示笔记本的图标:
Void CsampleView::OnDraw (CDC*Pdc)
{
If (::SHGetFileInfo(_T(“c:\\windows\\notepad.exe”),0, &stFileInfo,sizeof(stFileInfo),SHGFI_ICON))
{
pDC->DrawIcon(10,10,stFileInfo.hIcon);
}
}
void CsampleView::onDraw(CDC*Pdc)
{
HICON hIcon=::ExtractIcon(
AfxGetInstanceHandle(),_T(“notepad.exe”),0);
If (hIcon && hIcon!=(HICON)-1)
pDC->DrawIcon(10,10,hIcon);
}
http://www.aaiso.com/blog/more.asp?name=skyjhz