メッセージボックス
MessageBox(hWnd,"Message","MessageBoxWindowName",MB_OK);
YES,NOメッセージボックス
if(IDYES==MessageBox(hWnd,"YES? NO?","MessageBoxWindowName", MB_YESNO | MB_ICONQUESTION)) //YESの場合の処理
デバッグ出力
OutputDebugString("a");
見えるようにする
ShowWindow(GetDlgItem(hDlg,IDC_EDIT3),SW_SHOW);
見えなくする
ShowWindow(GetDlgItem(hDlg,IDC_EDIT3),SW_HIDE);
有効にする
EnableWindow(GetDlgItem(hDlg,IDC_EDIT3),true);
無効にする
EnableWindow(GetDlgItem(hDlg,IDC_EDIT3),false);
文字列取得
char buff[1024];
GetWindowText(GetDlgItem(hDlg,IDC_EDIT2),buff,1024);
文字列設定
SetWindowText(GetDlgItem(hDlg,IDC_EDIT1),"文字列");
もしくは
SendMessage(hWnd,WM_SETTEXT,0,(LPARAM)"文字列");
チェックボックスに値を入れる (trueの所を 1や0 に変えることによって値を入れます)
PostMessage(GetDlgItem(hDlg,IDC_CHECK1),BM_SETCHECK,true,NULL);
チェックボックスの値を取得(IDC_RADIO4でもIDC_CHECK1でもOK)
bool resolt = SendMessage(GetDlgItem(hDlg,IDC_RADIO4),BM_GETCHECK,NULL,NULL);
フォーカスがあるかどうか調べる
WHND hItem= GetFocus();//フォーカスのあるコントロールのハンドルがきます。
つまり
if(GetDlgItem(hDlg,IDC_EDIT2)==GetFocus()){}
こんな感じで調べられます
フォーカスの移動
フォーカスを目的のコントロールに与える
SetFocus(GetDlgItem(hDlg,IDC_BUTTON1));
TABSTOPと同じ順番の次のコントロールへ
SendMessage(hWnd, WM_NEXTDLGCTL, 0, 0);
TABSTOPと同じ順番の前のコントロールへ
SendMessage(hWnd, WM_NEXTDLGCTL, 1, 0);
CEdit カーソルの移動および文字列選択
PostMessage(GetDlgItem(hDlg,IDC_EDIT1),EM_SETSEL,start,end); 0から始まる開始位置:start 終了位置:end
CEdit 選択された文字列を取得する
DWORD dwStart, dwEnd ;
SendMessage(GetDlgItem(hDlg,IDC_EDIT1), EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwEnd);
選択された開始位置:dwStart 選択された終了位置:dwEnd
CEdit 縦スクロール位置の移動
SendMessage(GetDlgItem(hDlg,IDC_EDIT1), WM_VSCROLL,SB_BOTTOM,NULL);
SB_BOTTOM 一番下までスクロール。
SB_ENDSCROLL スクロール終了。
SB_LINEDOWN 1 行下へスクロール。
SB_LINEUP 1 行上へスクロール。
SB_PAGEDOWN 1 ページ下へスクロール。
SB_PAGEUP 1 ページ上へスクロール。
SB_THUMBPOSITION 絶対位置へスクロール。現在位置はパラメータ nPos で指定されます。
SB_THUMBTRACK スクロール ボックスを指定位置へドラッグ。現在位置はパラメータ nPos で指定されます。
SB_TOP 一番上までスクロール。
ウインドウを最前面
SetWindowPos(hDlg,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
▲トップページ
>
Windows と C++