1. 程式人生 > >MFC 文字框 用法

MFC 文字框 用法

MFC裡面的EDIT Control控制元件的用法是怎麼樣的,1.怎麼樣才能賦值給EDIT Control控制元件並在EDIT Control控制元件顯示出來;2.怎麼取得EDIT Control控制元件的值並傳遞給一個變數?希望各位大俠幫幫忙!

//獲得EDIT

CEdit* pBoxOne;

pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);

//付值

pBoxOne->SetWindowText( _T"FOO" );

//取值

CString str;

pBoxOne->GetWindowText(str);

GetDlgItem(IDC_EDIT1)->SetWindowText( _T"FOO" );

也可以

//取值

CString str;

GetDlgItem(IDC_EDIT1)->GetWindowText(str);

EditControl是在MFC對話方塊中最頻繁的使用的控制元件之一

VC++2005提供EditControl的屬性和控制元件事件操作簡單方便

1只允許輸入數字

如果設定EditControl中只能輸入數字,在VC6.0中需要編寫一個派生類來達到目的,而在VC++2005下只需要在屬性對話方塊中將Number的屬性值設

為True就可以了.

2獲取EditControl的內容

兩種方法

第一種,利用MFC應用程式嚮導生成一個基於對話方塊的應用程式,從資源檢視中選擇該Dialog窗體,利用右側的工具箱,向Dialog內新增一個

EditControl項,宣告控制元件變數的類別為Value,變數型別為CString,變數名為m_sEdit_Content.

CString m_sEdit_Content;

CString s;

UpdateData(true);

s=m_sEdit_Content.GetString();

MessageBox(s,_T("獲取編輯框的內容"),MB_OK);

s.ReleaseBuffer();

這樣就取得了編輯框的內容

UpdateData(true);這句程式碼很重要,它的作用是將輸入的資料裝入EditControl對應的變數m_sEdit_Content中.

由於MFC應用程式嚮導預設是使用Unicode庫,所以MessageBox中的字串需要用_T(),否則會出現const char[]轉換LPCTSTR錯誤,如果不使用

Unicode庫就不需要_T().

第二種方法

宣告控制元件變數的類別為Control,變數型別為CEdit,變數名為m_Edit_Content.

程式碼如下(Unicode)

CString s;

s.GetBufferSetLength(1024);

m_Edit_Content.GetWindowTextW(s.GetBuffer(),s.GetLength());

MessageBox(s,_T("獲取文字框的內容"),MB_OK);

s.ReleaseBuffer();

如果不是Unicode下獲取編輯框內容的函式就是GetWindowTextA

3將EditControl中的內容轉化為整數

在限制編輯框只能數字之後,要將字串轉化為整數

宣告控制元件變數的類別為Value,變數型別為CString,變數名為m_sEdit_Content.

CString s;

UpdateData(true);

s=m_sEdit_Content.GetString();

int n=_tstoi(s);

s.ReleaseBuffer();

n就是所需要的整數

在VC2005下字串轉換成整數需要_tstoi這個函式

4限制編輯框的輸入長度

宣告控制元件變數的類別為Control,變數型別為CEdit,變數名為m_Edit_Content.

在對話方塊初始化的地方寫m_Edit_Content.SetLimitText(1);

編輯框就只能輸入一個字元了.

相關推薦

MFC 文字 用法

MFC裡面的EDIT Control控制元件的用法是怎麼樣的,1.怎麼樣才能賦值給EDIT Control控制元件並在EDIT Control控制元件顯示出來;2.怎麼取得EDIT Control控制元件的值並傳遞給一個變數?希望各位大俠幫幫忙! //獲得EDIT CEdit

怎麼拖動文字 -- MFC

1,新增訊息OnLButtonDown 2,新增程式碼 CRect rect; GetClientRect(&rect); rect.bottom = rectCaption.top + 5; if (rect.PtInRect(point)) { ::SendMess

VS2010 MFC關於修改靜態文字的顏色大小背景

假設有一個靜態文字框控制元件,其ID為:IDC_STATIC_XSDJ,且關聯一個control類的CStatic型別的變數m_static_xsdj。 設定字型時自然要用到CFont類,下面介紹兩種方法,兩種方法都要先在標頭檔案中新增一個變數CFont newFont,切記要宣告稱類的

MFC(4):靜態文字使用及在靜態文字中顯示圖片

=========================靜態文字框==================== 類似的QT中的Qlabel 選中static text,由於其預設ID為IDC_STATIC,因此要,右鍵-->屬性-->修改其ID,右鍵-->新增變數(修改訪問屬性、設定變數

VC2005 MFC靜態文字背景色設定

最近在需要用MFC做一個上位機,第一次接觸這個東西我想把我在這過程中遇到的問題寫下來,希望也能幫助遇到同樣問題的朋友。有什麼地方不對的請各位指正。 我在利用MFC做登入介面時出現了一個問題。我發現如果直接有工具箱拖放一個靜態文字到程式視窗時文字框的背景顏色是灰色,字型為黑色

MFC介面程式設計基礎(11):靜態文字、命令按鈕和編輯

上一篇:MFC介面程式設計基礎(10):基於對話方塊的MFC應用程式 下一篇:MFC介面程式設計基礎(12):組框、單選按鈕和複選框 靜態文字框、命令按鈕和編輯框是Windows應用程式中最基本的控制元件。靜態文字

VS2013/MFC程式設計入門之十九(常用控制元件:靜態文字

       從本節開始講解各種常用控制元件的用法。MFC中常用控制元件主要包括:靜態文字框、編輯框、單選按鈕、複選框、分組框、列表框、組合框、圖片控制元件、列表控制元件、樹形控制元件和進度條控制元件等等。本節先來講解靜態文字框的使用。        控制元件的通知訊息

MFC中靜態文字貼圖處理

1.靜態文字控制元件貼png圖片     在建立控制元件時新增SS_BITMAP屬性SS_NOTIFY     CImage m_Icon.Load(wstring(L"tupian.png").c_str());     RECT rect;     HDC pDC =

MFC基本控制元件使用——靜態文字(Static)

眾所周知,在MFC應用程式中,靜態文字框的使用可以說是必不可少。但是呢,就MFC提供的Static直接使用起來還是有一些小問題的。比如說: (1)當對話方塊有背景圖片或其他顏色的時候,靜態文字框會有很難看的灰色的背景顏色,所以這裡存在一個透明的問題; (2)如何怎麼

MFC中Edit將一個編輯內容顯示到另一個文字

1 兩個編輯框的變數型別均是Control類 CString str_edit1; m_Editchair.GetWindowText(str_edit1); //提取第一個編輯框中的內容,賦值給st

MFC--設定靜態文字文字的字型、大小和顏色

1、放置Static控制元件 2、控制元件關聯控制變數,m_static(不是Value,是Control),注:先改變下ID,就可以正常關聯變數 3、宣告變數 CFont m_Font; 4、在初始化對話方塊中設定如下程式碼 //設定St

MFC中點選文字顯示提示,點選其他地方提示消失的方法

BOOL CPrjDlg::PreTranslateMessage(MSG* pMsg) {if ((pMsg->message == WM_LBUTTONDOWN) || (pMsg->message == WM_LBUTTONUP))  //核心點    

CFileDialog文件對話用法

CFileDialogCFileDialog dlg(TRUE, _T("*.bmp"), NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, _T("圖片文件(*.bmp;*.png)|*.pn

MFC對話控件訪問的七種方式

class 編輯 等價 ble cpp push 通過 == cte void CTestDlg::OnButtonAdd() { // TODO: Add your control notification handler code here //動態創建按鈕

replace限制文字只能輸入數字,數字和字母等的正則表示式

1.文字框只能輸入數字程式碼(小數點也不能輸入)  <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">&

高階控制元件 自動提示文字與下拉列表

一、 高階控制元件使用步驟 1 、獲取資料 2 、建立介面卡 3 、繫結介面卡 二、自動提示文字框 1 、AutoCompleteTextView(單一提示) android:completionThreshold=”1” 2 、MultiAutoCompleteTextV

判斷input文字獲取焦點和失去焦點

<!doctype html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>判斷input文字框

自動提示文字與下拉列表

高階控制元件與低階控制元件區別 是否使用介面卡 介面卡種類和作用 2.1 種類 陣列介面卡 ArrayAdapter new ArrayAdapter(this,R.layout.actv_style, names); 簡單介面卡 SimpleAdapter 也叫“並不簡

如何獲取視窗文字內的內容

通過SendMessage函式獲取文字框內容 一   效果展示   先看效果如圖。右面窗體點選“獲取”即可獲取到左面窗體文字框內容。 二  實現原理 1.通過FindWindow函式獲取到“測試視窗”的控制代碼 2.獲取窗體"Test"la

如何獲取視窗內文字的控制代碼

一  背景   某種情況下,需要從某窗體獲取該窗體文字框內的內容,發現文字框並沒有標題名,無法獲取文字框控制元件的控制代碼。接下來,我將介紹我獲取所需文字框控制元件控制代碼方法。 二  使用Spy++獲取   如圖,開啟Spy++可以直接獲取到