(for Internet Explorer)
キャンバスの上で、マウスを右ドラッグすると、空行を挿入したり、行全体を削除します。
行挿入
行削除
A
B
C
A
C
C
A
B
レイアウト線があるとき、レイアウト線の外にあるものは動かしません。
左右のうち下の方のレイアウト線の下側頂点より下の図形は、レイアウト線の影響を受けないで
移動します。
D
C
A
F
G
B
E
E
B
G
F
C
D
A
行削除のとき、左右うちの下の方のレイアウト線の下側頂点より下の図形は、移動しません。
E
B
G
F
A
C
D
D
C
F
G
B
E
CChildView::OnRButtonDown
/* 行操作を開始する */
CChildView::OnMouseMove
/* <<< 行を削除する範囲と
行挿入
行削除
CChildView::OnRButtonUp
/* 行挿入の結果をアンドウバッファに
動かす図形の選択の
元の位置を記録
図形を動かす
削除範囲の描画
削除する図形の選択
削除
CChildView::SetLineOpArea
行操作の X座標範囲を設定する。
 = m_LineOpLeft、m_LineOpRight, m_LineOpY を設定する
CChildView::IsLineOpTarget
指定の図形が行操作の対象か判定する
/* 行を挿入する範囲を描画する */
CChildView::DrawAll
/* 行を削除する範囲を描画する */
CChildView::OnRButtonUp
/* 行削除する */
CChildView::OnMouseMove
/* <<< 右ドラッグで行を挿入する >>>` */
位置の決定
アンドゥ情報の記録
5
図形とインクを行操作。キャンバスのサイズも変わること
拡大して行操作
アンドゥできること。
このページを新規ファイルにコピーしてテスト
1
2
3
4
6
7
8
9
レイアウト線をつけて。下の[5] の位置に追加、[5] を行削除、[5]を行・上移動
キャンバスのサイズが変わらないこと。
レイアウト線が移動しないこと。
レイアウト線より上下外のときは、行操作の範囲を制限しないこと。(詳細は仕様へ)
アンドゥできること。
以上に付いて、[4]、[6]についても。
このページを新規ファイルにコピーしてテスト
10
11
12
5