MFC,C 相關小知識

2021-06-18 13:45:28 字數 1791 閱讀 9475

相關的一些關於介面的操作,如果以後會繼續用的話,還是去搞qt吧,mfc好像不行。

1、如何開啟子介面後使主介面隱藏:

在主介面開啟子界面前新增:showwindow(sw_hide);

2、如何開啟乙個網頁,預設瀏覽器:

shellexecute(getsafehwnd(),_t("open"),_t(""),_t(""),null,sw_show);

3、列表combox如何設定預設項:

combox_usertype.setcursel(1);

4、列表combox如何只能選擇不能修改編輯

將combox的屬性type改為drop list

5、如何讓子介面在工作列顯示圖示

6、如何在mfc介面中顯示

分為兩種,一種是動態顯示(重新整理之類的),一種是固定顯示(如公司的logo,嵌入式的)。首先在介面中新增乙個控制項「picture control」,然後定義乙個id,然後新增乙個控制變數,一般是cstatic的這是m_picture

crect rect;//

m_picture.getclientrect(&rect); //控制項與rect繫結

//m_picture為picture控制項idc_pic的member variables,獲得控制項的區域物件,在class wizard中定義

cimage image; //使用類

image.load("person.jpg"); //filename為的路徑及名稱

cdc* pdc = m_picture.getwindowdc(); //獲得顯示控制項的dc

image.draw( pdc -> m_hdc,rect); //類的繪製draw函式

releasedc(pdc);

第二種是固定的新增在介面上,如logo

這裡的方法是:先新增乙個資源bitmap,然後得到資源名

新增乙個picture control控制項,然後將該資源名和控制項繫結。picture_control的屬性-》image填進去就可以了。

7、通過socket獲取ip位址(windows)

sockaddr_in addr_conn;  

int nsize = sizeof(addr_conn);

getpeername(sclient, (sockaddr *)&addr_conn, &nsize);

char szpeeraddress[16];

//sets buffers to a specified character.

memset((void *)szpeeraddress,0,sizeof(szpeeraddress));

string name = pack->m_pcdata;

//進行插入操作

strcpy(szpeeraddress,inet_ntoa(addr_conn.sin_addr));

string ip = szpeeraddress;

8、mfc cfiledialog,獲取指定路徑開啟檔案,解決每次都開啟預設的「我的文件」資料夾

其實很簡單,就加一句話就可以了,cfiledialog裡面設定預設資料夾。

cfiledialog filedlg(true);

filedlg.m_ofn.lpstrinitialdir = l"c:\\windows\\boot";

ajax相關的小知識

ajax作為非同步資料交換的技術,有重要用途,在使用過程中有其固定的格式。其中 url success,fail 3個引數必須要有 如何建立ajax物件 var oajax new xmlhttprequest ie7之後的瀏覽器可以識別,之前的設定方法為 var oajax new activex...

陣列的相關小知識

一維陣列的建立 陣列的建立 陣列是一組相同型別元素的集合。type t arr name const n type t為指數組的元素型別 arr name為陣列名 const n為常量表示式,用來指定陣列的大小。型別說明符是任一種基本資料型別或構造資料型別。陣列名是使用者定義的陣列識別符號。方括號中...

指紋相關的小知識

乙個指紋ic一般有以下幾個引腳 rst 復位引腳 int 中斷引腳 miso 主輸入從輸出 mosi 主輸出從輸入 spi clk spi時鐘 cs ss 片選引腳 vdd 數字供電 vddio i o供電 vddotp otp供電 為什麼要進行晶振校準?oscillator calibration...