對話方塊控制項CEdit改變字型邊框

2021-06-08 04:24:10 字數 1474 閱讀 1959

cedit 自繪

實現編輯框輸入檢查不能含有某些字元

檢查語法使用了boost庫注意新增標頭檔案

#include

為了實現**重用,將編輯控制項與乙個自己派生的cmyedit關聯

使用反射訊息實現控制項自處理

對cmyedit新增ctlcolor和enchange 訊息處理

訊息對映為:

begin_message_map(ccheckedit, cedit)

on_wm_ctlcolor_reflect()

on_control_reflect(en_change, &ccheckedit::onenchange)

end_message_map()

/*以下實現改變控制項顏色設定*/

hbrush ccheckedit::ctlcolor(cdc* pdc, uint /*nctlcolor*/)

else

// todo:  return a non-null brush if the parent's handler should not be called

//return false;

return (hbrush)m_bkbrush.getsafehandle();//

返回乙個自己的背景畫刷 否則上面的設定不其作用

void ccheckedit::onenchange()

([:?*<>\/\"| ]|[:?*<>\/\"| ].)"

//標識不能含有

.([:?*<>\/\"| ]|[:?*<>\/\"| ].)

const wstring regex = l;".([:?*<>\/\"| ]|[:?*<>\/\"| ].)"

boost::wsmatch match;

const boost::wregex reg(regex);

wstring wstr = m_strprojectname.getstring();

bool match_status = boost::regex_match(wstr, match, reg);/*

//在對話方塊中直接處理可以使用此方法獲得控制項矩形

cedit* m_pedit = (cedit*)getdlgitem(idc_edit_project_name);

crect rect;

m_pedit->getwindowrect(&rect);*/

crect rect;

getwindowrect(rect);  

screentoclient(rect);

if (match_status)

else

invalidaterect( &rect );//此處立即重繪控制項 將呼叫ctlcolor       

}// todo:  add your control notification handler code here   

}

用字型選擇對話方塊改變字型

我看了一本比較舊的書叫 gtk gnome 程式設計 裡面講了乙個例子,怎樣來使用字型選擇對話方塊。由於書的比較舊,與最新的gtk 不對應,所以這個例子根本就不能執行。原因是,在書中提到了gtksyle這個結構,裡面有乙個項 struct gtkstyle gdkfont font 但是在最新版的g...

對話方塊控制項

單選對話方塊 newalertdialog.builder this settitle 請做出你的選擇 seticon r.mipmap.ic launcher setpositivebutton 確認 null setnegativebutton 取消 null setsinglechoiceit...

python字型設定對話方塊 字型對話方塊的使用

字型對話方塊的使用 本節,我們將學習使用字型對話方塊為選中的文字設定不同的字型和樣式。在本應用中,我們將使用乙個text edit元件和乙個push button 元件。當單擊這個按鈕時,將開啟這個字型對話框架。從對話方塊中選擇的字型和樣式將被應用在text edit元件中的文字上。本節,我們將使用...