導航:首頁 > 程序命令 > mfc命令

mfc命令

發布時間:2024-12-01 08:36:25

『壹』 在MFC怎麼中設置窗口大小和位置

第一種方法:使用SetWindowPos函數
CWnd::SetWindowPosBOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy,UINT nFlags );
返回值如果函數成功,則返回非零值;否則返回0。

說明

調用這個成員函數以改變子窗口、彈出窗口和頂層窗口的大小、位置和Z軸次序。窗口在屏幕上按照它們的Z軸次序排序。在Z軸次序上處於頂端的窗口將程序在所有其它窗口的頂部。子窗口的所有坐標都是客戶坐標(相對於父窗口客戶區的左上角)。窗口可以被移動到Z軸次序的頂部,既可以通過將pWndInsertAfter參數設為&wndTopMost,並確保沒有設置SWP_NOZORDER標志,也可以通過設置窗口的Z軸次序使它位於所有現存的頂層窗口上方。當一個非頂層窗口被設為頂層窗口時,它擁有的窗口也被設為頂層的。它的擁有者不發生變化。如果頂層窗口被重新定位到Z軸次序的底部(&wndBottom)或任何非頂層窗口之後,則它將不再是頂層窗口。當頂層窗口被變為非頂層窗口時,它所有的擁有者和它擁有的所有窗口都被變為非頂層窗口。如果既沒有指定SWP_NOACTIVE標志也沒有指定SWP_NOZORDER標志(這意味著應用程序要求窗口被同時激活並放入指定的Z軸次序),則pWndInsertAfter參數中指定的值將只在下列環境下適用:l 在pWndInsertAfter參數中既沒有指定&wndTopMost也沒有指定&wndNoTopMost。
這個窗口不是活動窗口。應用程序不能激活一個非活動窗口但同時又不把它帶到Z軸次序的頂部。應用程序可以沒有任何限制地改變活動窗口的Z軸次序。非頂層窗口可能擁有一個頂層窗口,但是反之則不成立。任何被頂層窗口擁有的窗口(例如對話框)都將自己變為頂層窗口,以確保所有被擁有的窗口位於它們的擁有者上方。在Windows 3.1或更新的版本中,可以將窗口移動到Z軸次序的頂部,並通過設置它們的WS_EX_TOPMOST風格而將之鎖定在那裡。這種頂層窗口即使在失去活動狀態以後也會保持頂層位置。例如,選擇WinHelp的Always On Top命令會使幫助窗口變為頂層,並且在你返回應用程序之後它還保持可見。要創建一個頂層窗口,應在調用SetWindowPos的時候將pWndInsertAfter參數設為&wndTopMost,或者在創建窗口的時候設置WS_EX_TOPMOST風格。如果Z軸次序中包含了任何具有WS_EX_TOPMOST風格的窗口,則用&wndTopMost移動的窗口將被放到所有非頂層窗口的頂部,但是位於任何頂層窗口的下面。當應用程序激活一個不具有WS_EX_TOPMOST風格的非活動窗口時,該窗口將被移動到所有非頂層窗口的上方,但是位於所有頂層窗口的下方。如果在調用SetWindowPos的時候pWndInsertAfter參數被設為&wndBottom,並且CWnd是一個頂層窗口,則該窗口失去頂層狀態(WS_EX_BOTTOM風格被清除),並且系統將窗口放在Z軸次序的底部 。

參數pWndInsertAfter
標識了在Z軸次序上位於這個CWnd對象之前的CWnd對象。這個參數可以是指向CWnd對象的指針,也可以是指向下列值的指針:
wndBottom 將窗口放在Z軸次序的底部。如果這個CWnd是一個頂層窗口,則窗口將失去它的頂層狀態;系統將這個窗口放在其它所有窗口的底部。
wndTop 將窗口放在Z軸次序的頂部。
wndTopMost 將窗口放在所有非頂層窗口的上面。這個窗口將保持它的頂層位置,即使它失去了活動狀態。
wndNoTopMost 將窗口重新定位到所有非頂層窗口的頂部(這意味著在所有的頂層窗口之下)。這個標志對那些已經是非頂層窗口的窗口沒有作用。有關這個函數以及這些參數的使用規則參見說明部分。

x指定了窗口左邊的新位置。
y指定了窗口頂部的新位置。
cx指定了窗口的新寬度。
cy指定了窗口的新高度。

nFlags指定了大小和位置選項。這個參數可以是下列值的組合:
SWP_DRAWFRAME 圍繞窗口畫出邊框(在創建窗口的時候定義)。
SWP_FRAMECHANGED 向窗口發送一條WM_NCCALCSIZE消息,即使窗口的大小不會改變。如果沒有指定這個標志,則僅當窗口的大小發生變化時才發送WM_NCCALCSIZE消息。
SWP_HIDEWINDOW 隱藏窗口。
SWP_NOACTIVATE 不激活窗口。如果沒有設置這個標志,則窗口將被激活並移動到頂層或非頂層窗口組(依賴於pWndInsertAfter參數的設置)的頂部。
SWP_NOCOPYBITS 廢棄這個客戶區的內容。如果沒有指定這個參數,則客戶區的有效內容將被保存,並在窗口的大小或位置改變以後被拷貝回客戶區。
SWP_NOMOVE 保持當前的位置(忽略x和y參數)。
SWP_NOOWNERZORDER 不改變擁有者窗口在Z軸次序上的位置。
SWP_NOREDRAW 不重畫變化。如果設置了這個標志,則不發生任何種類的變化。這適用於客戶區、非客戶區(包括標題和滾動條)以及被移動窗口覆蓋的父窗口的任何部分。當這個標志被設置的時候,應用程序必須明確地無效或重畫要重畫的窗口和父窗口的任何部分。
SWP_NOREPOSITION 與SWP_NOOWNERZORDER相同。
SWP_NOSENDCHANGING 防止窗口接收WM_WINDOWPOSCHANGING消息。
SWP_NOSIZE 保持當前的大小(忽略cx和cy參數)。
SWP_NOZORDER 保持當前的次序(忽略pWndInsertAfter)。
SWP_SHOWWINDOW 顯示窗口。

========================================================================

第二種方法:使用MoveWindow函數
void CWnd::MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );
void CWnd::MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE );
參數
x指定了CWnd的左邊的新位置。
y指定了CWnd的頂部的新位置。
nWidth指定了CWnd的新寬度。
nHeight指定了CWnd的新高度。
bRepaint指定了是否要重畫CWnd。如果為TRUE,則CWnd象通常那樣在OnPaint消息處理函數中接收到一條WM_PAINT消息。如果這個參數為FALSE,則不會發生任何類型的重畫操作。這應用於客戶區、非客戶區(包括標題條和滾動條)和由於CWnd移動而露出的父窗口的任何部分。當這個參數為FALSE的時候,應用程序必須明確地使CWnd和父窗口中必須重畫的部分無效或重畫。

lpRectCRect對象或RECT結構,指定了新的大小和位置。說明這個函數改變窗口的位置和大小。對於頂層的CWnd對象,x和y參數是相對於屏幕的左上角的。對於子對象,它們是相對於父窗口客戶區的左上角的。
MoveWindow函數發送一條WM_GETMINMAXINFO消息。處理這個消息時,CWnd得到一個改變最大和最小的窗口預設值的機會。如果傳遞給MoveWindow成員函數的參數超過了這些值,則在WM_GETMINMAXINFO處理函數中可以用最小或最大值來代替這些值。

『貳』 MFC按鈕調用一程序,如何執行程序命令行參數呢

標准c庫函數不知道行不行,如果在win32環境下,調用win32 API絕對是可以的,用shellexecute函數啟動程序,命令行參數在程序名稱後按空格隔開,在調用程序main函數中使用string strLine=::AfxGetApp()->m_lpCmdLine;就可以獲取命令行參數了,在開發多進程項目的時候用的比較多,常用於進程間啟動參數傳遞。

『叄』 mfc程序怎麼接受命令行參數

三種方法:

假設我們啟動程序的時候執行的是以下命令:

D:mfcapp.exe -l -f ./1.txt

方法1,調用全局函數

::GetCommandLine();

將獲取到全部參數信息:D:mfcapp.exe -l -f ./1.txt

方法2,使用宏__argc和__argv,使用方法和命令行main(int argc,char *argv[])一樣,示例代碼:

for(inti=0;i<__argc;i++)
{
__argv[i];//依次遍歷可以得到D:mfcapp.exe-l-f./1.txt
}

方法3:使用CWinApp類的成員變數m_lpCmdLine,它裡麵包含除了第一個參數的所有信息,比如:

AfxGetApp()->m_lpCmdLine;//結果為-l -f ./1.txt

『肆』 怎麼在WINDOWS的MFC架構下,開發一個自己的命令行窗口程序

1、啟動vc++6.0。 2、在文件菜單里單擊新建。 3、在彈出的窗口裡單擊MFC AppWizard (exe)。 4、在右邊的工程名稱里輸入程序名,例如firstc。 5、單擊確定,在彈出的窗體里選擇基本對話框,單擊完成,單擊確定。 6、這時已經生成了一個窗體,兩個...

『伍』 MFC中怎麼調用cmd並執行命令

ShellExecute(NULL, "open", "ping", "127.0.0.1", NULL, SW_SHOW);

閱讀全文

與mfc命令相關的資料

熱點內容
pdf添加空白頁 瀏覽:676
iospng壓縮 瀏覽:71
python代碼寫手 瀏覽:894
word文檔怎樣變為PDF 瀏覽:239
強迫症解壓好物排行榜 瀏覽:722
python中的academy 瀏覽:512
androideval 瀏覽:653
python日誌分析系統的操作可行性 瀏覽:664
加密即時信息系統 瀏覽:198
ipadpro如何鎖app 瀏覽:242
python介面測試用例 瀏覽:976
如何訪問本機上的伺服器 瀏覽:445
蘋果手機設置信任app在哪裡 瀏覽:509
手機如何下載google伺服器 瀏覽:259
代碼經過編譯解釋才能執行 瀏覽:858
bysort命令 瀏覽:176
delphi調用python 瀏覽:487
mfc命令 瀏覽:539
一加應用加密改密碼 瀏覽:580
程序員謊報工作經驗 瀏覽:856