閱讀328 返回首頁    go 汽車大全


【C大事】第六講:定時器控件

void CALLBACK MyTimerProc (HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)
{
  SYSTEMTIME stLocal;
  GetLocalTime(&stLocal);
  TCHAR strTime[256];
  wsprintf(strTime,"%i年 %i月 %i日 %i:%i:%i",stLocal.wYear, stLocal.wMonth, 
  stLocal.wDay, stLocal.wHour, stLocal.wMinute, stLocal.wSecond);
  SetDlgItemText(hwnd, IDC_EDITTIME, strTime);
}


BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
  SetTimer(hwnd, 0, 1000, MyTimerProc);

  return TRUE;

}


其他控件:
複選框控件、check總共有三種狀態。
取得複選按鈕的是否選中:
LRESULT Button_GetCheck(HWND hwndCtl);
BST_CHECKED BST_UNCHECKED

switch(id)
{
  case IDC_OK:
  {
    HWND hwndcheck = GetDlgItem(hwnd, IDC_CHECK1);
    int checkstate = Button_GetCheck(hwndcheck);
    if(checkstate == BST_CHECKED){
      MessageBox(hwnd, TEXT("被選中了"), TEXT(""), MB_OK);
    }
    if (BST_UNCHECKED == checkstate){
      MessageBox(hwnd, TEXT("未被選中"), TEXT(""), MB_OK);
    }

  }

  break;

  default:

  break;

}


設置複選按鈕是否選中:
LRESULT Button_SetCheck(HWND hwndCtl, int check);
BST_CHECKED BST_UNCHECKED
switch(id)
{

  case IDC_OK:
  {
    HWND hwndcheck = GetDlgItem(hwnd, IDC_CHECK1);
    int checkstate = Button_GetCheck(hwndcheck);
    if(checkstate == BST_CHECKED){
      Button_SetCheck(hwndcheck, BST_UNCHECKED);
    }
    if (BST_UNCHECKED == checkstate){
      Button_SetCheck(hwndcheck, BST_CHECKED);
    }

  }

  break;

  default:

  break;

}


 

ListBox(和 Combo 類似)
(1)添加項:
如果采用 LBS_SORT 樣式,那麼填入清單方塊最簡單的方法是借助
ListBox_AddString:
int ListBox_AddString(HWND hwndCtl, LPCSTR lpsz);
如果沒有采用 LBS_SORT, 那麼可以使用 ListBox_InsertString 指定一個索引值,
將字符串插入到清單方塊中:
int ListBox_InsertString(HWND hwndCtl, int index, LPCSTR lpsz);
(2)刪除項:
int ListBox_DeleteString(HWND hwndCtl, int index);
(3)取得有多少項:
int ListBox_GetCount(HWND hwndCtl); 
(4)選定某一項

int ListBox_SetCurSel(HWND hwndCtl, int index);將 iParam 設定為-1 則取消所有選擇

(5) 確定目前選項的索引:

int ListBox_GetCurSel(HWND hwndCtl); 如果沒有項目被選中,那麼從唿叫中傳回的 iIndex 值為
LB_ERR。
(6)將某項目複製到文字緩衝區中:

int ListBox_GetText(HWND hwndCtl, int index, LPCTSTR lpszBuffer);

最後更新:2017-04-03 16:48:57

  上一篇:go MFC下用sdl 顯示bmp、rgb、yuv
  下一篇:go 學生信息管理係統——配置windows防火牆允許訪問SQL Server 2008服務器