① MFC工具箱的對話框編輯器中沒有文本框控制項 怎麼辦
不可能
② MFC單文檔 如何用CEdit創建一個最簡單的輸入框
te(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
RECT rect;
rect.left = 20;
rect.right=100;
rect.top=20;
rect.bottom=40;
m_Edit.Create(ES_LEFT|ES_AUTOHSCROLL|WS_BORDER|WS_VISIBLE|WS_CHILD|WS_TABSTOP,rect,this,IDC_MYEDIT);
return 0;
}
IDC_MYEDIT是一個宏代表你的編輯框的ID,你可以自己定義成一個和其他資源不沖突的整數
在OnCreate中創建就行,位置自己調
m_Edit定義成你CComWorkView的成員變數就行,以便後面使用
③ MFC中dialog中edit編輯框的相關問題。
GetDlgItem()是CDialog類的方法,你在別的類裡面調用它當然會出錯啦。
如果你想讓你的對話框初始化的時候就顯示abc的話,你得修改你的CCtDlg類,重載CDialog類的OnInitialDlg方法響應初始化對話框消息,把你的這句GetDlgItem(IDC_EDIT1)->SetWindowText("abc");放在那裡面去執行。
你這里DoModal都調完了,說明對話框都退出了,這時候還怎麼改它上面的控制項顯示啊。
④ mfc 怎麼樣使編輯框只能輸入英文和數字
重載CEdit的OnChar()函數
⑤ 怎樣用mfc來創建一個只接收英文字母的編輯框
從CEdit派生一個新的MyEdit類,定義一個輸入TXT對話框,輸出可以不要派生,在類的PreTranslateMessage()函數中處理
BOOL CMyEdit::PreTranslateMessage(MSG* pMsg)
{
if(pMsg-> message==WM_KEYDOWN)
{
//這里做的事情是,當你一按 回車,把變數保存輸入TXT的值,追加到輸出TXT,在輸出TXT顯示,就可以看到你的效果
}
return CEdit::PreTranslateMessage(pMsg);
}
追問
我覺得您說得挺對了。。
我自定義了一個類CMyEdit類
我嘗試把原來的編輯框與這個類的變數關聯起來,但是在Class wizzard 添加變數的時候卻找不到我的自定義類。。這個問題怎麼解決啊??
回答
你直接在CMyEdit.h裡面寫就可以了,定義一個protect,或是public的CSTring變數
,當時你直接用外面的變數獲取就可以了,沒必要在裡面定義一個變數
⑥ visual studio 2008中基於對話框的MFC項目下,工具箱里除了對話框編輯器,控制項怎麼那麼少,怎麼添加
好象可以在工具箱上右單擊,選「選擇項」。彈出對話框後選擇添加
⑦ MFC中View類如何獲取工具欄上編輯框的內容
僅供參考:
使用GetDlgItemText函數獲取控制項上的內容,比如
CString str;
GetDlgItemText(IDC_EDIT,str);
⑧ MFC中,有個編輯框IDC_EDIT1,現在想設定只能在此框中輸入半形的英文和數字.請問您該怎麼設定呀
那簡單啊 CString m_str("hi中文hello");
LPCTSTR str = m_str; //把CString類型轉換為char* 類型
for (int i=0;str[i];i++)
{
if (str[i] < 0) //一個中文占兩個位元組,且每個位元組都是小於0的
{
CString tmp;
tmp.Format("%c%c",str[i],str[i+1]);//把中文輸出,舉個例子
i++;
MessageBox(tmp);
}
}
⑨ 在mfc怎樣在工具條中添加編輯框
在CMainFrame中加成員變數CComboBoxm_comboList;CStaticm_static;然後是OnCreate()中添加代碼,注釋掉的是添加下拉框的代碼,如下:intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CFrameWndEx::OnCreate(lpCreateStruct