DDV処理について。 – プログラミング – Home

通知
すべてクリア

DDV処理について。


おるせん
 おるせん
(@おるせん)
ゲスト
結合: 19年前
投稿: 1
Topic starter  

ちょっとヘンな質問かもしれませんが、
勉強途中の初心者と言うことで寛大な対応をm(__)m

Q1.DDVのチェックが実行されるのはリターンキーを押した時だけですか?

MSDNを見ると、「[OK] をクリックしてダイアログ ボックスへの入力を確定」と
あったのですが、TABキーでフォーカスが外れた場合は入力の確定ではないのでしょうか?
ノーチェックなんですか?

Q2.仕方が無いのでDDVを辞めました。EditBoxからのLOSTFOCUS時に、
自作のチェックを行うようにしました。あるチェックボックスがあるのですが、
エディットボックスに無効な値を入力後、チェックボックスをクリックすると
エラーは発生しますが、チェックボックスにチェックが付けられてしまいます。

このチェックが付けないようにするには、LOSTFOCUS時の処理の中で、
「エラーだったらチェックボックスを無効にする」って処理を書かなければ
ならないのでしょうか?

とても稚拙な質問だとは思いますが悩んでます。
宜しくお願いします。環境はVC6++です。

ちなみに、DDV/DDXってのはSDIやMDIでは使えないのでしょうか?
「Dialog」Data・・・・・・って言うぐらいですから、当たり前かも知れませんが。
ちょっと気になったもので。


引用解決済
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> TABキーでフォーカスが外れた場合は入力の確定ではないのでしょうか?
ダイアログボックスに入力された全体に対しては確定ではない。

> このチェックが付けないようにするには、LOSTFOCUS時の処理の中で、
>「エラーだったらチェックボックスを無効にする」って処理を書かなければ
> ならないのでしょうか?

それ以外にチェックするタイミングがないのなら、そうでしょうね。

> ちなみに、DDV/DDXってのはSDIやMDIでは使えないのでしょうか?

やってみればいい。


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

>ちなみに、DDV/DDXってのはSDIやMDIでは使えないのでしょうか?
>「Dialog」Data・・・・・・って言うぐらいですから、当たり前かも知れませんが。

そもそもSDIやMDIでもダイアログは使えます。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

DDVってUpdateData(TRUE)を呼んだときに動くのでは無いかと思います。
そもそも、DDVにしてもDDXにしてもダイアログでのデータの取得と設定を
簡易に行うためのものなので万能ではありませんし、
細かいことをしたいのであれば、自分でコードか書かなくてはだめです。
デフォルトのOKボタン(IDOKのボタン)が押されると確かデフォルトの実装では
UpdateData(TRUE)を呼ぶようになっていたと思います。
ですから、言われているようなフォーカスが移動した時にこれは動きませんし、
仮にUpdateData(TRUE)を呼んだとすると未入力の項目にまでチェックが
かかってしまうのでどちらにしても無理ですね。

既に書いていますが、DDVにしてもDDXにしても簡易に操作する為の方法を
Microsoftが提供してくれているだけです。
あくまでも簡易なのですから、それで満足できないのであれば、
自分でコードを書きましょう。
毎回使うようなものなのであれば、うまく設計してライブラリ化すれば、
次からは楽が出来るかもしれませんよ。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

あと、開発環境を持っていて勉強中の身なのであれば、
επιστημηさんが書かれているように取り敢えず試してみるのも
一つの手です。試してみてわからない部分を聞くようにした方が
より的確なアドバイスがもらえる可能性が高いです。
もちろん、試した内容をきちんと提示してもらう必要はありますけれど。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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