分割ウィンドウでキーの連動 – プログラミング – Home

分割ウィンドウでキーの連動
 
通知
すべてクリア

[解決済] 分割ウィンドウでキーの連動


kayo
 kayo
(@kayo)
ゲスト
結合: 20年前
投稿: 6
Topic starter  

Windows XP
VC++ 6.0

初心者です。
分割ウィンドウを作り、右の画面(CEditView),左の画面(CEditView)で、
ENTERキーを押した時に、どちらの画面も改行されるようにしたいのですが、
わかりません。
どなたかご教授お願い致します。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

一方のViewで、
void 一方のView::OnChar(...)
{
if (Enterキー) {
他方のView->GetEditCtrl().ReplaceSel(\r\n);
}
CEditView::OnChar(...);
}


返信引用
kayo
 kayo
(@kayo)
ゲスト
結合: 20年前
投稿: 6
Topic starter  

dairygoods さん
回答ありがとうございます。
Enterキーの処理ができました。

もう一つだけ質問させて頂けないでしょうか?
BackSpaceキーやDeleteキーなどの時は
Enterキーと同じようにできないのですが、
この場合どうすべきなのでしょうか?


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

BackSpaceやDeleteの操作は、“文字入力”ではありませんので、
WM_KEYDOWN(OnKeyDown)で処理する必要があります。


返信引用
かお
 かお
(@かお)
ゲスト
結合: 20年前
投稿: 5
 

dairygoods さん
回答ありがとうございます。

WM_KEYDOWN(OnKeyDown)でキーの連動
をすることもできるのでしょうか?


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

できませんでしたか?


返信引用
kayo
 kayo
(@kayo)
ゲスト
結合: 20年前
投稿: 6
Topic starter  

dairygoods さん
回答ありがとうございます。

実現方法が分からなくてまだできていないです。
WM_KEYDOWN(OnKeyDown)の中に下のような処理を入れたいです。
「左の画面(CEditView)でDeleteキーを押すと
 左の画面と右の画面の文字が1文字消える」
この方法が分かりません。
DeleteキーができるとBackSpaceキーやTabキーも
同じようにできると思いました。
教えて頂けないでしょうか?


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

一方のViewで、
void 一方のView::OnKeyDown(...)
{
if (Deleteキー) {
const MSG* cm = GetCurrentMessage();
他方のView->PostMessage(cm->message,cm->wParam,cm->lParam);
}
CEditView::OnKeyDown(...);
}

#この方法なら、どんなキーでも(Enterでも)使えます。


返信引用
kayo
 kayo
(@kayo)
ゲスト
結合: 20年前
投稿: 6
Topic starter  

dairygoods さん
回答ありがとうございます。

dairygoodsさんに教えて頂いた処理通りに
しましたところ、自分の期待通りの動きが
できました。
本当にありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました