VC基礎知識 筆記

2021-04-21 07:02:02 字數 1648 閱讀 8528

1.showwindow方法

cgundongdlg *pdlg=new cgundongdlg();

pdlg->create(ids_string102);

pdlg->showwindow(sw_restore);

其中showwindow的引數為:

sw_forceminimize

是強制視窗最小化,主要使用在非視窗主線程的其它執行緒來操作。

sw_hide

是顯示視窗為隱藏狀態。

sw_maximize

是顯示視窗為最大化。

sw_minimize

是顯示視窗為最小化。

sw_restore

是從任務裡恢復視窗顯示。

sw_show

是啟用視窗為當前視窗,並且顯示為當前的大小和位置。

sw_showdefault

是建立程序時顯示視窗的值。

sw_showmaximized

是啟用視窗為當前視窗,並且顯示最大化。

sw_showminimized

是啟用視窗為當前視窗,並且顯示最小化。

sw_showminnoactive

是顯示視窗為最小化,但不啟用它作為當前視窗。

sw_showna

是顯示為當前的大小和位置,但不啟用它作為當前視窗。

sw_shownoactivate

是顯示當前視窗,但不啟用它作為當前視窗。

sw_shownormal

是顯示當前視窗,但視窗是最小化或最大化時會恢復視窗為原來的大小和位置。

settimer函式:這個東東的功能不說了,使用方法如下:

mfc:

uint settimer(uint nidevent,uint nelapse,void(callback export *lpfntimer)(hwnd,uint ,yint ,dword))

當使用settimer函式的時候,就會生成乙個計時器。函式中nidevent指的是計時器的標識,也就是名字。nelapse指的是時間間隔,也就是每隔多長時間觸發一次事件。第三個引數是乙個**函式,在這個函式裡,放入你想要做的事情的**,你可以將它設定為null,也就是使用系統預設的**函式,系統預設認的是ontime函式。這個函式怎麼生成的呢?你需要在需要計時器的類的生成ontime函式:在classwizard裡,選擇需要計時器的類,新增wm_time訊息對映,就自動生成ontime函式了。然後在函式裡新增**,讓**實現功能。每隔一段時間就會自動執行一次。

例: settimer(1,1000,null);

1:計時器的名稱;

1000:時間間隔,單位是毫秒;

null:使用ontime函式。

當不需要計時器的時候呼叫killtimer(nidevent);

接下來就是在回掉函式

ontime中

書寫**:

void ctimetest::ontimer(uint_ptr nidevent)

注意:killtimer用法是乾掉timer  用法:mfc:  killtimer(timer的id)

以上兩個函式:settimer 和 killtimer在win32中用時,要多加個"視窗控制代碼";具體參見msdn

VC 學習筆記 基礎知識(二)

陣列的長度初始化 char szstr 12 34 char szstr2 1234 std cout sizeof szstr2 std endl std cout sizeof szstr2 std endl std cout std strlen szstr2 std endl std cou...

vc 基礎知識 常用控制代碼

控制代碼型別 說明hwnd 視窗控制代碼 hinstance 當前實列控制代碼 hcursor 游標控制代碼 hfont 字型控制代碼 hpen 畫筆控制代碼 hbrush 畫刷控制代碼 hdc 裝置環境控制代碼 hbitmap 位圖控制代碼 hicon 圖示控制代碼 hmenu 選單控制代碼 hf...

VC 串列埠通訊基礎知識

在win32下,可以使用兩種程式設計方式實現串列埠通訊,其一是使用activex控制項 activex是microsoft對於一系列策略性物件導向程式技術和工具的稱呼,其中主要的技術是元件物件模型 com 這種方法程式簡單,但欠靈活。其二是呼叫windows的api函式,這種方法可以清楚地掌握串列埠...