導航:首頁 > IDC知識 > vcidc

vcidc

發布時間:2020-12-27 08:37:33

1、在 VC6.0 MFC 一個編輯框的id為IDC_EDIT1 一個按鈕(一)的id為IDC_BUTTON1

在頭文件中添加
afx_msg void OnBnButton1();
在實現文件中
BEGIN_MESSAGE_MAP(CXXXDlg, CDialogEx)

END_MESSAGE_MAP()
上面這部分中間裡面添加
ON_BN_CLICKED(IDOK, OnBnButton1)
然後再實現文件中,隨便找個空白的地方貼一下下面的代碼
void CXXXDlg::OnBnButton1()
{
CString strTemp = _T("");
GetDlgItem(IDC_EDIT)->GetWindowText(strTemp);
strTemp += _T("1");
GetDlgItem(IDC_EDIT)->SetWindowText(strTemp);

}
其中CXXXDlg是你工程的名字

2、VC中找不到 IDC_OPEN 選項

你遇到的是什麼問題?

那些 IDC 什麼的不過是自動生成的宏定義, 其實就是整數, 你新建專的時候手動敲進去屬就好了, MFC 會自動生成相應的宏定義
名字沒有什麼特殊規定, 寫成 IDC 不過是習慣而已

如果是編譯的時候提示找不到什麼什麼的, 你可以去 Resource.h 和 *.rc 等文件看看是不是缺了宏定義

3、有下面的一段VC代碼:GetDlgItem(IDC_STATIC)->SetWindowText("明日科技");這段代碼是什麼意思?

因為所有的靜態控制項都是基於窗口的,所以都有SetWindowText方法
GetDlgItem(IDC_STATIC)獲得IDC_STATIC窗口指針
SetWindowText()把該內窗口文字顯示為「明日容科技」

用於不給控制項關聯成員變數的情況下,不用UpdateData(FALSE)更新

SetDlgItemText的原型如下,三個變數分別為窗口句柄,ID,字串
BOOL SetDlgltemText(HWND hDlg,int nlDDlgltem,LPCTSTR IpString);

4、VC++6.0中,加入一個組合框IDC_COMBO1,設置變數m_txt,如何將在IDC_COMBO1組合框中加入數據,代碼如下

m_txt.AddString(_T("重慶"));
m_txt.AddString(_T("四川"));
m_txt.SetCurSel(0);


這段代碼可以放在對話框初始化的地方,添加變數時內自動生成的容。

5、VC中隱藏和顯示IDC_STATIC

我來給上面的補充代碼
void CImageShowAndHideDlg::OnBnClickedButton1() //隱藏
{

CWnd* pWnd = GetDlgItem(IDC_STATIC);
pWnd->ShowWindow(SW_HIDE);
}
void CImageShowAndHideDlg::OnBnClickedButton2()//顯示內
{
// TODO: 在此添加控制項通容知處理程序代碼
CWnd* pWnd = GetDlgItem(IDC_STATIC);
pWnd->ShowWindow(SW_SHOW);//SW_SHOW表示顯示(子)窗口
}

6、VC++代碼解釋一下

這個是消息映射表,
第一句是消息映射的開始,
最後一行是結束
當中就是具體的消息關聯了
ON_WM_SYSCOMMAND()//當點窗口左上角彈出系統菜單時,點相應的選項會產生WM_SYSCOMMAND消息,這行就是說,本窗體會相應控制菜單。
ON_WM_PAINT()//相應WM_PAINT,就是窗體重繪
ON_WM_QUERYDRAGICON()//沒有定義圖標的窗體當其最小化時發送WM_QUERYDRAGICON消息,本行就是說,本窗體會相應這個消息
ON_BN_CLICKED(IDC_OPENCOM, OnOpencom)//這行是響應按鈕單擊消息。意思是當單擊一個ID號為IDC_OPENCOM的按鈕時,會產生這個消息,並由OnOpencom這個函數響應,就是說這個函數將會執行

ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)//這是一個通知消息。當一個控制項(IDC_TAB1)發生某些事件(例如TCN_SELCHANGE)時,OnSelchangeTab1就會執行。

ON_WM_CTLCOLOR()//這是控制項顏色背景等的繪制響應,當控制項等重繪的時候,會調用OnCtrlColor函數,這是個虛函數,可以自己重寫

7、VC++6.0能修改圖片中的ID:IDC_STATIC,再用函數SetDlgItemText(IDC_STATIC,XXXXX);來顯示。

可以的,把id改成其他的,只要保證唯一就可以了

8、在vc++里GetDlgItem( IDC_PSWD )->SetWindowText( "" ); 怎麼顯示數值型變數?

1.int變數可以轉換為字元串變數再輸出
TCHAR text[100];
_stprintf(text, _T("%d"), i);//假設i為你要輸出的int變數
GetDlgItem( IDC_PSWD )->SetWindowText(text);

2.Sleep(1000)表示當前線程休息1秒專 如果你的用戶界面屬線程Sleep(1000) 那在這一秒內程序不能進行任何響應 所以請不要在界面線程里用Sleep 可以在創建的工作線程裡面使用Sleep

9、VC里 IDC_RADIO radio 空間簡單問題

注意:style裡面的 groups的檢查框。默認是夠選的。但是如果你想讓你的2個Radio 是產生互斥,就是能夠只選擇一個。那麼就只講你的第一個的group 勾選,其他的不選!

與vcidc相關的知識