亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

VC小技巧匯總之控件技巧

2020-01-26 15:27:51
字體:
來源:轉載
供稿:網友

本文搜集匯總了VC小技巧的控件技巧,對于進行VC開發來說有一定的借鑒價值,具體如下:

1.如何隱藏和顯示控件

用CWnd類的函數BOOL ShowWindow(int nCmdShow)可以隱藏或顯示一個控件。
例1:

CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 ); //獲取控件指針,IDC_EDIT為控件ID號pWnd->ShowWindow( SW_HIDE );   //隱藏控件

例2:

CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 ); //獲取控件指針,IDC_EDIT為控件ID號pWnd->ShowWindow( SW_SHOW );   //顯示控件

2.按鈕的使能與禁止

用ClassWizard的Member Variables為按鈕定義變量,如:m_Button1;

m_Button1.EnableWindow(true);  //使按鈕處于允許狀態m_Button1.EnableWindow(false);  //使按鈕被禁止,并變灰顯示

3.改變控件的大小和位置

用CWnd類的函數MoveWindow()或SetWindowPos()可以改變控件的大小和位置。

void MoveWindow(int x,int y,int nWidth,int nHeight);void MoveWindow(LPCRECT lpRect);

第一種用法需給出控件新的坐標和寬度、高度;
第二種用法給出存放位置的CRect對象;
例:

CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 );  //獲取控件指針,IDC_EDIT1為控件ID號pWnd->MoveWindow( CRect(0,0,100,100) ); //在窗口左上角顯示一個寬100、高100的編輯控件SetWindowPos()函數使用更靈活,多用于只修改控件位置而大小不變或只修改大小而位置不變的情況:BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);

第一個參數一般設為NULL;
x、y控件位置;cx、cy控件寬度和高度;

nFlags常用取值:

SWP_NOZORDER:忽略第一個參數;
SWP_NOMOVE:忽略x、y,維持位置不變;
SWP_NOSIZE:忽略cx、cy,維持大小不變;

例:

CWnd *pWnd;pWnd = GetDlgItem( IDC_BUTTON1 );  //獲取控件指針,IDC_BUTTON1為控件ID號pWnd->SetWindowPos( NULL,50,80,0,0,SWP_NOZORDER | SWP_NOSIZE ); //把按鈕移到窗口的(50,80)處pWnd = GetDlgItem( IDC_EDIT1 );pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER | SWP_NOMOVE ); //把編輯控件的大小設為(100,80),位置不變pWnd = GetDlgItem( IDC_EDIT1 );pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER ); //編輯控件的大小和位置都改變

以上方法也適用于各種窗口。

4.單選按鈕控件(Radio Button)的使用

(1)對單選按鈕進行分組:

每組的第一個單選按鈕設置屬性:Group,Tabstop,Auto;其余按鈕設置屬性Tabstop,Auto。
如:
Radio1、Radio2、Radio3為一組,Radio4、Radio5為一組
設定Radio1屬性:Group,Tabstop,Auto
設定Radio2屬性:Tabstop,Auto
設定Radio3屬性:Tabstop,Auto
設定Radio4屬性:Group,Tabstop,Auto
設定Radio5屬性:Tabstop,Auto

(2)用ClassWizard為單選控件定義變量,每組只能定義一個。如:m_Radio1、m_Radio4。

(3)用ClassWizard生成各單選按鈕的單擊消息函數,并加入內容:

void CWEditView::OnRadio1() {  m_Radio1 = 0;  //第一個單選按鈕被選中}void CWEditView::OnRadio2() {  m_Radio1 = 1;  //第二個單選按鈕被選中}void CWEditView::OnRadio3() {  m_Radio1 = 2;  //第三個單選按鈕被選中}void CWEditView::OnRadio4() {  m_Radio4 = 0;  //第四個單選按鈕被選中}void CWEditView::OnRadio5() {  m_Radio4 = 1;  //第五個單選按鈕被選中}

當控件變量值為0時,它對應組的第一個單選按鈕處于選中狀態。

(4)設置默認按鈕:

在定義控件變量時,ClassWizard在構造函數中會把變量初值設為-1,只需把它改為其它值即可。
如:

//{{AFX_DATA_INIT(CWEditView)m_Ridio1 = 0;  //初始時第一個單選按鈕被選中m_Ridio4 = 0;  //初始時第四個單選按鈕被選中//}}AFX_DATA_INIT

4.旋轉控件(Spin)的使用

當單擊旋轉控件上的按鈕時,相應的編輯控件值會增大或減小。其設置的一般步驟為:

(1)在對話框中放入一個Spin控件和一個編輯控件作為Spin控件的伙伴窗口

設置Spin控件屬性:Auto buddy、Set buddy integer、Arrow keys
設置文本控件屬性:Number

(2)用ClassWizard為Spin控件定義變量m_Spin,為編輯控件定義變量m_Edit,定義時注意要把m_Edit設置為int型。

(3)在對話框的OnInitDialog()函數中加入語句:

BOOL CMyDlg::OnInitDialog() {  CDialog::OnInitDialog();  m_Spin.SetBuddy( GetDlgItem( IDC_EDIT1 ) ); //設置編輯控件為Spin控件的伙伴窗口  m_Spin.SetRange( 0, 10 );  //設置數據范圍為0-10  return TRUE;}

(4)用ClassWizard為編輯控件添加EN_CHANGE消息處理函數,再加入語句:

void CMyDlg::OnChangeEdit1() {  m_Edit = m_Spin.GetPos();  //獲取Spin控件當前值}

5.UpdateData()

對于可以接收數據的控件,如編輯控件來說,UpdateData()函數至關重要。當控件內容發生變化時,對應的控件變量的值并沒有跟著變化,同樣,當控件變量值變化時,控件內容也不會跟著變。
UpdateData()函數就是解決這個問題的。
UpdateData(true);    把控件內容裝入控件變量
UpdateData(false);   用控件變量的值更新控件
如:有編輯控件IDC_EDIT1,對應的變量為字符串m_Edit1,

(1)修改變量值并顯示在控件中:

m_Edit1 = _T("結果為50");UpdateData(false);

(2)讀取控件的值到變量中:

用ClassWizard為IDC_EDIT1添加EN_CHANGE消息處理函數,這個函數在編輯控件內容發生變化時執行。

void CEditView::OnChangeEdit1(){  UpdateData(true);  //更新變量值}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97超视频免费观看| 日韩精品中文字幕久久臀| 青青久久av北条麻妃海外网| 亚洲va久久久噜噜噜| 国产一区二区三区在线免费观看| 2019国产精品自在线拍国产不卡| 欧美电影免费观看大全| 91国产美女视频| 国产一区二区三区高清在线观看| 青青久久aⅴ北条麻妃| 国产精品69av| 欧美大全免费观看电视剧大泉洋| 亚洲在线视频福利| 国模私拍视频一区| 日韩二区三区在线| 欧美精品激情在线观看| 狠狠躁夜夜躁人人爽超碰91| 午夜精品99久久免费| 久久综合伊人77777蜜臀| 日韩美女在线观看| 欧美一区二区色| 国产精品亚洲激情| 国产在线精品播放| 国色天香2019中文字幕在线观看| 国产一区二区三区日韩欧美| 日韩av影视综合网| 蜜臀久久99精品久久久无需会员| 国产精品美女无圣光视频| 精品久久久久久久久久久久久| 国产成人综合精品| 色综合亚洲精品激情狠狠| 久久久久久久久久久成人| 国产综合香蕉五月婷在线| 91精品国产综合久久香蕉的用户体验| 91在线视频免费| 久久影院中文字幕| 成人黄色av免费在线观看| 亚洲天堂av图片| 亲子乱一区二区三区电影| 亚洲影院色在线观看免费| 2019中文字幕全在线观看| 亚洲第一中文字幕在线观看| 97视频在线观看成人| 欧美一区视频在线| 不卡av电影在线观看| 成人久久一区二区| 日韩一区二区三区xxxx| 97碰在线观看| 亚洲www视频| 国产精品自产拍在线观看| 91精品国产自产91精品| 91牛牛免费视频| 在线精品高清中文字幕| 国产亚洲欧洲在线| 国产亚洲精品日韩| 亚洲一区二区三区视频播放| 欧美激情一区二区三区成人| 在线观看欧美www| 欧美国产精品日韩| 永久555www成人免费| 国产精品高潮呻吟久久av野狼| 精品久久久久国产| 欧洲永久精品大片ww免费漫画| 久久国产天堂福利天堂| 亚洲天堂成人在线| 亚洲国产精彩中文乱码av在线播放| 国产精品久久久久久久久影视| 亚洲资源在线看| 亚洲色图日韩av| 91免费看片网站| 色偷偷av一区二区三区乱| 国产美女精品视频免费观看| 性色av一区二区三区在线观看| 最近2019中文字幕第三页视频| 尤物yw午夜国产精品视频明星| 欧美做受高潮1| 2019最新中文字幕| 亚洲成av人影院在线观看| 青草热久免费精品视频| 国产成人精品久久久| 不卡av电影在线观看| 91极品女神在线| 日本一区二区在线免费播放| 成人亚洲综合色就1024| 亚洲女在线观看| 懂色av影视一区二区三区| 久久久久久久久久久久av| 日韩精品在线观看一区| 久久精品国产2020观看福利| 黄网站色欧美视频| 成人在线国产精品| 精品视频www| 国内揄拍国内精品| 91国产精品91| 国产美女主播一区| 亚洲一区二区三区四区视频| 精品久久久久久国产| 国产女人18毛片水18精品| 欧美激情视频网| 日韩va亚洲va欧洲va国产| 日韩欧美成人精品| 97av在线视频免费播放| 亚洲精品日韩在线| 91精品久久久久久久久久久久久久| 日韩av最新在线观看| 亚洲欧美日韩精品久久亚洲区| 国产精品偷伦视频免费观看国产| 亚洲欧美日韩精品久久| 久久精品亚洲国产| 激情成人在线视频| 久久久91精品国产一区不卡| 国产精品爽爽爽爽爽爽在线观看| 欧美日韩一区免费| 疯狂做受xxxx高潮欧美日本| 欧美一区二区三区……| 欧美大片大片在线播放| 最新国产精品拍自在线播放| 亚洲国产欧美一区二区三区同亚洲| 国产日韩欧美一二三区| 国产精品mp4| 久久综合久久八八| 韩剧1988在线观看免费完整版| 久久综合网hezyo| 亚洲精品videossex少妇| 亚洲视频精品在线| 色综合久久久久久中文网| 国产91精品不卡视频| 成人激情电影一区二区| 欧美黑人巨大xxx极品| 欧美专区在线播放| 自拍偷拍亚洲在线| 亚洲精品久久久久久久久久久久久| 欧美色欧美亚洲高清在线视频| 亚洲日韩中文字幕| 热久久这里只有| 美女福利精品视频| www.日本久久久久com.| 亚洲欧美在线免费观看| 欧美国产日韩xxxxx| 欧美噜噜久久久xxx| 亚洲欧美激情一区| 久久视频国产精品免费视频在线| 91麻豆国产语对白在线观看| 亚洲国产精品va| 亚洲美女又黄又爽在线观看| 亚洲激情视频网站| 久久天天躁夜夜躁狠狠躁2022| 国产偷国产偷亚洲清高网站| 欧美午夜精品久久久久久人妖| 亚洲精品视频网上网址在线观看| 亚洲欧美日韩精品久久| 久久精品视频在线观看| 欧美成人午夜影院| 亚洲激情视频在线播放| 国产精品久久久久9999| 日韩大陆毛片av| 亚洲激情电影中文字幕| 亚洲色图综合网| 午夜精品久久久久久久99黑人| 欧美高清性猛交| 性色av一区二区三区在线观看| 日韩免费中文字幕| 奇米影视亚洲狠狠色| 日本最新高清不卡中文字幕|