顯示具有 MFC 標籤的文章。 顯示所有文章
顯示具有 MFC 標籤的文章。 顯示所有文章

2009年1月20日 星期二

MFC CDialog初始注意事項

資料成員的Category為Control的控制項,
不可以在呼叫DoModal method之前設定初值,
也不可以在呼叫DoModal之後再取出使用者在該控制項輸入的資料

在WM_INITDIALOG訊息時設定初值,在按下OnOK時,取出資料

如果要在Dialog起始前,或結束後存取Category的值,
Category要設定為CSgring或其他變數

2009年1月7日 星期三

MFC - Radio Button使用

之前也常遇到這個問題,就是不知道該怎麼將數個Radio Button規類到同個群組
tips:
1. 群組中的第一個Radio Button必須設定Group及Tabstop屬性,
同組其他的Radio Button不用設定Group及Tabstop
2. 要判斷那個Radio Button被按下的話,可以新增一個int型態的資料成員,
如果內容為0,代表第一個Radio被按下,內容為1代表第二個被按下,
依此類推
3. 群組中第一個Radio Button要設定ID屬性,其餘用預設的ID即可,
另外每一組Radio Button的每一顆Radio Button的Tab Order(註1)必須連續

註1 在資源頁面的Dialog中,按下Ctrl+d,即可設定Tab Order

MFC - CDialog中UpdateData 的使用

之前一直confuse CDialog的UpdateData使用,
今天看書的時候才瞭解,
將data show在控制項時,要用UpdateData(FALSE);
ex:
DDX_Text(pDX, IDC_EDIT1, m_str);
CString tmp("test");
m_str = tmp;
CDialog::UpdateData(FALSE);

將控制項的Data取回時,要使用UpdateData(TRUE);
ex:
DDX_Text(pDX, IDC_EDIT1, m_str);
CString tmp;
this->UpdateData(TRUE);
tmp = m_str;

winsock2.h redefined問題

解法: #define _WINSOCKAPI_    // stops windows.h including winsock.h #include #include