機能 | 領域 |
---|---|
デスクトップにウィンドウがひっつく | 各モニタのデスクトップ領域 |
グリッドにひっつく(本数設定) | 各モニタのデスクトップ領域 |
グリッドにひっつく(ピクセル設定) | 各モニタのデスクトップ領域 |
マグネットウィンドウマップ表示 | 仮想デスクトップ領域 |
仮想デスクトップ領域に中央表示"ON" | 仮想デスクトップ領域 |
仮想デスクトップ領域に中央表示"OFF" | プライマリデスクトップ領域 |
偶数台の時モニタ間にまたがない | 仮想デスクトップ領域から自ウィンドウ分中央からずらして表示 |
概要 | 優先順位 |
---|---|
ウィンドウ移動時の優先順位 | デスクトップからはみ出さない>デスクトップ>タスクバー>ウィンドウ>グリッド(ピクセル設定)>グリッド(本数設定) |
子ウィンドウ移動時の優先順位 | MDIウィンドウからはみ出さない>MDI親ウィンドウ>子ウィンドウ |
ウィンドウサイズ変更時の優先順位 | 子ウィンドウに親がひっつく(サイズ変更時)>デスクトップ>タスクバー>ウィンドウ>グリッド(ピクセル設定)>グリッド(本数設定) |
子ウィンドウサイズ変更時の優先順位 | MDI親ウィンドウ>子ウィンドウ |
ウィンドウ同士の時の優先順位 | 最後に取得したウィンドウ>最初に取得したウィンドウ |
子ウィンドウ同士の時の優先順位 | 最後に取得したウィンドウ>最初に取得したウィンドウ |
スナップの優先順位 | 左>右 下>上 |
グリッドの描画順位 | 左上>右下 |
概要 | 最大数 |
---|---|
ウィンドウ認識最大数 | 256個 |
子ウィンドウ認識最大数 | 256個 |
モニター認識最大数 | 25個 |
無効ウィンドウリスト認識最大数 | 64個 |
クラス名/タイトル名の認識範囲 | 64文字(終端含む) |
半透明ウィンドウ値保持最大数 | 256個 |
通信ウィンドウ認識最大数 | 8個 |
データの並び | |
---|---|
奇数行: | クラス名 |
偶数行: | タイトル名 |
非MFC(WindowsSDK + C): (タイトルバーとサイズ変更枠がある場合)
LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message){ case WM_NCHITTEST: wParam = DefWindowProc( hwnd, message, wParam, lParam); if( 10 <= wParam || 17 >= wParam || HTCLIENT == wParam){ return HTCAPTION; } else{ return wParam; } break; ...以下省略 } |
MFC: (タイトルバーの無いウィンドウ)
void CWnd、CDialog系::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: この位置にメッセージ ハンドラ用のコードを追加するか... LPARAM lParam; lParam = MAKELPARAM(point.x, point.y); PostMessage(WM_NCLBUTTONDOWN, (WPARAM)HTCAPTION, lParam); CDialog::OnLButtonDown(nFlags, point); } |