std::regex reg1("(doc)(.*)"); //它
std::regex reg2("(ppt)(.*)");
std::regex reg3("(xls)(.*)");
void CremarksecretDlg::OnBnClickedCheck1() //這是不回傳內容的函式
{
// TODO: 在此添加控制元件通知處理程式代碼
int nstatus=(((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck());
if(nstatus=1)
{
//if(match1("doc*","docx")==1&&match1("doc*","doc")==1)
suffixStr1=reg1;//||suffixStr=_T("docx");
}
else
{
suffixStr1=_T("-");
}
}
void CremarksecretDlg::OnBnClickedCheck2()
{
// TODO: 在此添加控制元件通知處理程式代碼
int nstatus=(((CButton*)GetDlgItem(IDC_CHECK2))->GetCheck());
if(nstatus=1)
{
suffixStr2=_T("pdf"); //如果符號是==,這是判斷而不是賦值了,所以是錯誤的。
}
else
{
suffixStr2=_T("-");
}
}
void CremarksecretDlg::OnBnClickedCheck3()
{
// TODO: 在此添加控制元件通知處理程式代碼
int nstatus=(((CButton*)GetDlgItem(IDC_CHECK3))->GetCheck());
if(nstatus=1)
{
suffixStr3=reg2;//||suffixStr=_T("pptx");
}
else
{
suffixStr3=_T("-");
}
}
最上面的代碼是正則運算式,用來指定檔案型別。下面三個函式是復選框單擊事件回應函式。
現在的問題是我單擊了復選框之后,有的點擊了不止一次,選上了檔案型別,但是后來又不想選了,但是在顯示所選后綴
檔案型別的檔案串列中也出現了曾經選中的檔案型別,比如圖上顯示的ppt檔案我就實際最終沒選檔案型別但是也顯示在檔案串列里了,請問我的程式應該怎樣寫才能避免發生這種情況,多謝指教。
uj5u.com熱心網友回復:
了解一下MVCuj5u.com熱心網友回復:
我問的問題是不是太簡單了?uj5u.com熱心網友回復:
這個是資料問題吧。1、你更新沒到位,就是資料更新到串列中沒能對相應的每個串列賦值過去。
2、你資料本身就有混合檔案名。
3、記得要把原有的串列資訊洗掉后更新,避免殘留,或者你要保證全部被覆寫更新。
uj5u.com熱心網友回復:
我回答問題一般都是高屋建瓴。授予漁而不授予魚。uj5u.com熱心網友回復:
zhao4zhong1老師,我要是按您說的做,那花的時間就長了,這是遠水解不了近渴啊。其實我問題的實質就是考慮到實際應用中可能會多次點擊復選框,因此復選框的狀態最終可能是選中也可能是沒選中,但是現在的情況是只要點擊過復選框,其狀態為選中,后來即使狀態變為了沒選中,但是根據檔案型別后綴列出的檔案串列中也會出現那種型別的檔案,現在的問題是我的代碼應該怎樣寫,或者是用什么函式方法來避免出現我說的上述問題。請各位高手指教。uj5u.com熱心網友回復:
。。也不是很難。邏輯要分步驟理清楚。 建議加個按鈕,搜索。點按鈕后 檢查復選框,根據輸入,搜索結果
uj5u.com熱心網友回復:
有沒有人能告訴我,是否用我現在用的復選框單擊事件回應函式來實作這個功能,還是用別的什么函式來實作這個功能?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/85626.html
標籤:基礎類
上一篇:誰幫我科普一下這段畫界面的代碼?
