選択されてないと時、無効 – プログラミング – Home

選択されてないと時、無効
 
通知
すべてクリア

[解決済] 選択されてないと時、無効


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

始めまして

文字選択されてない時
メニューの
切り取り/コピーを無効にしたい。
あとクリップボードに無いとき貼り付けも無効に・・

エディットボックス内の
ポップアップの表示と同じにしたいです

環境VC++6.0
MDIです

お願いしますーTT


引用未解決
トピックタグ
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

http://www.microsoft.com/japan/developer/library/vccore/_core_how_to_update_user.2d.interface_objects.htm

とりあえずこの辺を読んでみてください。


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

ありがとうございます
無効状態は出来ました。

void CWCBFileView::OnUpdateEditCut(CCmdUI* pCmdUI)
{
// TODO: この位置に command update UI ハンドラ用のコードを追加してください
pCmdUI->Enable(FALSE);
}

あとは切り取り、コピーで選択されたタイミングを取るのと
貼り付けでクリップボードにテキストデータがあるかないか
を探してみます。

選択状態はアイテム一つ一つに対して
付けなければいけないようですね
フォーカスはちょっと意味合い違いますし、うーむ

でも、そこら辺は探せばありそうです。


返信引用
pi_ter
 pi_ter
(@pi_ter)
ゲスト
結合: 24年前
投稿: 6
 

こんなんなりました。
とりあえず解決

CEditは文字列選択のタイミングが取れるのですが
CComboBoxの文字列選択のタイミングは未だわからず・・;

【切り取り】

void SampleView::OnUpdateEditCut(CCmdUI* pCmdUI)
{
// TODO: この位置に command update UI ハンドラ用のコードを追加してください
m_Edit.GetSel(nStartChar,nEndChar);

if(nEndChar - nStartChar){
pCmdUI->Enable(TRUE);
}
}

【貼り付け】

void SampleView::OnUpdateEditPaste(CCmdUI* pCmdUI)
{
// TODO: この位置に command update UI ハンドラ用のコードを追加してください

pCmdUI->Enable(FALSE);

if(::IsClipboardFormatAvailable(CF_TEXT)!=FALSE){
pCmdUI->Enable(TRUE);
}
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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