程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> VC小技能匯總之窗口技能

VC小技能匯總之窗口技能

編輯:關於C++

VC小技能匯總之窗口技能。本站提示廣大學習愛好者:(VC小技能匯總之窗口技能)文章只能為提供參考,不一定能成為您想要的結果。以下是VC小技能匯總之窗口技能正文


本文匯集匯總了VC小技能的窗口技能,關於VC法式開辟的窗口設計而言有必定的自創價值,概況以下:

1.讓窗口一啟動就最年夜化

把運用法式類(CxxxApp)的 InitInstance() 函數中的

m_pMainWnd->ShowWindow(SW_SHOW); 

改成

m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);

則窗口一啟動就最年夜化顯示。

2.若何設置窗口的初始尺寸

在將運用法式類(CxxAPP)的 InitInstance() 函數中參加:

m_pMainWnd->SetWindowPos(NULL,x,y,Width,Height,SWP_NOMOVE);

Width為窗口寬度,Height為窗口高度
SWP_NOMOVE表現疏忽地位(x,y)。
如:

BOOL CDzyApp::InitInstance()
{
  AfxEnableControlContainer(); 
  …… 
  // The one and only window has been initialized, so show and update it.
  m_pMainWnd->SetWindowPos(NULL,0,0,750,555,SWP_NOMOVE);//設置窗口的初始年夜小為750*555
  m_pMainWnd->ShowWindow(SW_SHOW); 
  m_pMainWnd->UpdateWindow(); 
  return TRUE; 
}

3.讓窗口居中顯示

以下兩種辦法可任選其一:

①在運用法式類(CxxxApp)的 InitInstance() 函數中參加:

m_pMainWnd->CenterWindow( GetDesktopWindow() );

②在主框架類(MainFrm.cpp)的OnCreate()函數中參加:

CenterWindow( GetDesktopWindow() );

如:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{ 
  if (CFrameWnd::OnCreate(lpCreateStruct) == -1) 
  return -1; 
  …… 

  // TODO: Delete these three lines if you don't want the toolbar to 
  // be dockable 
  m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); 
  EnableDocking(CBRS_ALIGN_ANY); 
  DockControlBar(&m_wndToolBar); 

  CenterWindow( GetDesktopWindow() ); //使窗口翻開時處於屏幕正中

  return 0; 
}

4.若何修正窗口題目

窗口題目普通情勢為:文檔題目 - 法式題目

(1)設置文檔題目:

在文檔類(CxxxDoc)的OnNewDocument()函數中參加語句:SetTitle("文檔名");
如:TextEditorDoc.cpp:

BOOL CTextEditorDoc::OnNewDocument() 
{ 
  if (!CDocument::OnNewDocument()) 
    return FALSE; 
  // TODO: add reinitialization code here 
  // (SDI documents will reuse this document) 
  SetTitle("未定名.txt");  //設置文檔題目
  return TRUE; 
}

(2)設置法式題目:

在框架類(CMainFrame)的PreCreateWindow()函數中參加語句:m_strTitle = _T("法式題目");
如:MainFrm.cpp:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 
{ 
  if( !CFrameWnd::PreCreateWindow(cs) ) 
    return FALSE; 
  // TODO: Modify the Window class or styles here by modifying 
  // the CREATESTRUCT cs 
  m_strTitle = _T("文本整頓器");  //設置法式題目
  return TRUE; 
}

以上兩點比擬實用於視圖-文檔構造的法式,在新建文檔時,體系會主動運轉OnNewDocument()函數,在個中可以設置適合的題目。關於未采取文檔的法式可以用上面的辦法修正題目:

(3)修正窗口題目:

修正窗口題目普通在翻開文件函數OnFileOpen()和另存為函數OnFileSaveAs()中停止,可使用上面的函數:

AfxGetMainWnd()->SetWindowText("文檔題目"+" - "+"法式題目");

個中文檔題目和法式題目可以使用界說過的串變量。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved