VC杂项

if(dlg.DoModal()==IDOK)
{
   m_path = dlg.GetPathName();//将显示路径的Edit控件命名为m_path,并增加CString变量m_path
   UpdateData(FALSE);  
}  
}
九、窗口居中: 
在初始化(OnInit)函数中增加:CenterWindow();即可
十、对话框加状态条: 
     UINT indicators[]={ID_INITMESSAGE,ID_SEPARATOR,ID_TIMEMESSAGE,ID_PROGRESS};
     m_statusbar.CreateEx(this,0,WS_CHILD | WS_VISIBLE | CBRS_BOTTOM);
     m_statusbar.SetIndicators(indicators,4);
     m_statusbar.ShowWindow (SW_SHOW);
     RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
十一、设置初始窗口状态: 
BOOL CObjectNameApp::InitInstance()
{
m_pMainWnd->SetWindowText(“”); //设置初始窗口标题文本
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);//设置初始窗口为最大化
m_pMainWnd->UpdateWindow();

对于MDI函数SetWindowText无效,主窗口的标题只能在资源列表中修改,子窗口标题在**doc.cpp中重载OnNewDocument(),调用SetTitle(“LGdownload中文版”);来修改。
设置初始窗口最大化的另一优化方法:
void CMainFrame::ActivateFrame(int nCmdShow)
{
     // TODO: Add your specialized code here and/or call the base class
     nCmdShow=SW_MAXIMIZE;
     CFrameWnd::ActivateFrame(nCmdShow);
}
十二、对话框透明特效: 
在OnInitDialog()中加入以下代码:
//加入WS_EX_LAYERED扩展属性
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary(“User32.DLL”);
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddress(hInst, “SetLayeredWindowAttributes”);
if(fun)fun(this->GetSafeHwnd(),0,128,2);
FreeLibrary(hInst);
}
注意:fun的参数128不能太小,否则就完全透明了!
十三、设置对话框里的STATIC控件颜色属性: 
在该对话框增加WM_CTLCOLOR事件,加入以下代码:
if( nCtlColor==CTLCOLOR_STATIC )
{
     pDC->SetTextColor(RGB(255,255,255));
     pDC->SetBkColor(RGB(91,145,244));
   pDC->SetBkMode(TRANSPARENT); //设置透明
}
设置STATIC控件背景透明:
if( nCtlColor==CTLCOLOR_STATIC )
{
pDC->SetBkMode(TRANSPARENT); //设置透明
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
十四、使窗口的最大化和最小化按钮消失: 
在PreCreateWindow函数中添加以下代码即可:
     int xSize = ::GetSystemMetrics( SM_CXSCREEN );
     int ySize = ::GetSystemMetrics( SM_CYSCREEN );
     cs.cx = xSize * 6 / 10;
     cs.cy = ySize * 6 / 10;
     cs.x = ( xSize – cs.cx ) / 2;
     cs.y = ( ySize – cs.cy ) / 2;

     cs.style &= ~WS_THICKFRAME;
     cs.style &= ~( WS_MAXIMIZEBOX | WS_MINIMIZEBOX );

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2011年9月17日
下一篇 2011年9月18日

相关推荐