MFC控制項一些不常見的用法

2021-06-26 08:46:19 字數 2056 閱讀 5483

一、分隔線

用picture控制項,拖動使其高度(或寬度)變為1,屬性裡type設定為frame,color設定為etched即可。

用groupbox和分隔符組合使用可以做出相對美觀的介面,當然也可以使用多個groupbox使其邊緣重疊,看上去就你分隔線的效果。

二、ctreectrl的用法

三、利用cimage在控制項上動態顯示

#include

rect rect; 

getdlgitem(idc_stc_verifycode)->getclientrect(&rect);//獲得顯示控制項的rect

cdc* pdc =getdlgitem(idc_stc_verifycode)->getdc();//獲得顯示控制項的dc

cimage image; //使用類

image.load( l"verifycode.png"); //裝載路徑下資訊到類

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

releasedc( pdc );

四、clistctrl的用法

dword dwstyle = m_list_ctrl.getextendedstyle();

dwstyle |= lvs_ex_fullrowselect;//選中某行使整行高亮(只適用與report風格的listctrl)

dwstyle |= lvs_ex_gridlines;//網格線(只適用與report風格的listctrl)

dwstyle |= lvs_ex_checkboxes;//item前生成checkbox控制項

m_list_ctrl.setextendedstyle(dwstyle); //設定擴充套件風格

m_list_ctrl.insertcolumn( 0, "程序id", lvcfmt_left, 140 );//插入列

m_list_ctrl.insertcolumn( 1, "程序名", lvcfmt_left, 140 );//插入列

m_list_ctrl.insertcolumn( 2, "執行緒數", lvcfmt_left, 140 );//插入列

//插入一行資料

int nrow=m_list_ctrl.insertitem(0,"1056");//插入行

m_list_ctrl.setitemtext(nrow, 1, "qq.exe");//設定第一列資料

m_list_ctrl.setitemtext(nrow, 2, "58");//設定第二列資料

五、mfc中避免視窗重繪導致視窗閃爍的方法

思路:先建立乙個視窗相容的記憶體dc,使用記憶體dc畫圖,然後將記憶體dc複製到視窗dc中

//在指定的視窗cwnd * pwnd中畫圖

void crecodemodlg::wndpaint(cwnd * pwnd)

六、從右下角公升起的彈窗

// 在oninitdialog()中新增

// 示例

// 獲得桌面大小

crect rectworkarea;

systemparametersinfo(spi_getworkarea,0,&rectworkarea,spif_sendchange);

// 獲得對話方塊大小

crect rectdlg;

getwindowrect(&rectdlg);

int nw = rectdlg.width();

int nh = rectdlg.height();

// 將視窗設定到右下角

::setwindowpos(getsafehwnd(),hwnd_bottom,rectworkarea.right-nw-20,rectworkarea.bottom-nh,nw,nh,swp_nozorder);

// 動畫顯示彈窗效果

animatewindow(getsafehwnd(),800,aw_slide|aw_ver_negative);

android一些不常見屬性

2android allowclearuserdata是否給以使用者清楚資料的許可權 預設為true true 表示應用管理者擁有清楚資料的許可權 false 表示應用管理者無清楚資料的許可權 3 android hardwareaccelerated true 能夠給activity和view啟用...

一些不常見的狀態碼

引起的原因一般是 521 web 伺服器已關閉 源伺服器拒絕了雲伺服器的連線 雲伺服器沒有和源伺服器完成 tcp 握手 雲伺服器無法到達原始伺服器,可能是源伺服器的 dns 記錄不正確 雲伺服器可以完成 tcp 握手,但是沒有及時收到 http 響應 雲伺服器不能完成與原始伺服器的 ssl tls ...

c 的一些不常見關鍵字

explicit用來防止由建構函式定義的隱式轉換,比如 class base base 10 即base類只有乙個int型別的變數,explicit使用了以後,就不允許這樣寫。被宣告為explicit的建構函式通常比非explicit的建構函式更受歡迎,因為它們禁止編譯器執行非預期的型別轉換。vol...