こんにちは。
いつもお世話になっております。
開発環境は、delphiXE3 enterprise(update2適用)、win7(sp1)です。
DateTimePickerを使っています。
enter時にDateTimePickerのカーソルをMMにしたいです。
DateTimePickerのFormatは、yyyy/MMです。
sendmessageでやってみたのですが、カーソルはyyyyになりました。
記述の仕方が間違っていたのかとも思っています。
SendMessage(TDateTimePicker(sender).Handle, EM_SETSEL, 6, 7);
カーソルをMMにするにはそうすれば良いのでしょうか?
ン
ナペなんたらはナツのためのメッセージですから、トヤミに送っても「そんなもの知らん」ですよ……
トヤミ用のメッセージはヲサトヤペヲサで始まるやつです。が、見たところそんな都合のいいものはなさそうですね。
観察する限りでは、トヤミはエディットボックスなど使っておらず、全部自前で描画しているコントロールです。
フィールドの選択なども内部だけの管理で、外からいじれるようには作っていないようなので
任意のフィールドを選択状態にするのはかなり難しいと思いますよ。
無理矢理実現するなら
ィアゥヲサウィンドウを再作成する(確実にア番目のフィールドが選択されている状態にするため)
ィイゥヲサそこから→キーのイベントを送りつけて隣に移動させる
とかですかね……うーん、うまくいくとは思えない。
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアオッーエッーイィ木ゥ アケコイウコアカ 書込者ノト:ロ 「。「 「「 ン
仰られるようなことを考えていました。
→を押させるか、スペースキーを押させるかを考えていました。
確かにョを見ると、のメッセージはないみたいです。
この機能の実現は難しいのでしょうか。
スススススススススススススススススススススススススススススススススススススススス
ニコ 通りすがり
トコ イーアオッーエッーイィ木ゥ イイコイケコエケ 書込者ノト:ロ ァ。。 ン
微妙ですが…
ヲサヤニアョトヤミアヒトィモコヲサヤマサヲサヲサヒコヲサラサ
ヲサヲサモコヲサヤモモゥサ
ヲサヲサヲサヒヲサスヲサヨピメナヤユメホヲサ
ヲサヲサ
ヲサヲサヲサヲサヒヲサコスヲサヨピメノヌネヤサ
ヲサヲササ
サ
何が微妙って、エラー音が出ること、ヘヘでロナホヤナメンでに戻ることのイ点ですね。
スススススススススススススススススススススススススススススススススススススススス
ニコ ヒネナーーイイア
トコ イーアオッーエッーイィ木ゥ イイコエーコアク 書込者ノト:ロ 「。ィ ン
にヲサラョテテヲサして
トヤ゜モニィトヤミアョネャミラティァヘヘッァゥゥサ
スススススススススススススススススススススススススススススススススススススススス
ニコ ヒネナーーイイア
トコ イーアオッーエッーイィ木ゥ イイコエカコオー 書込者ノト:ロ 「。ィ ン
ヲサの表示はけしちゃだめか・・
スススススススススススススススススススススススススススススススススススススススス
ニコ
トコ イーアオッーエッーイィ木ゥ イウコアアコエア 書込者ノト:ロ 「「、・ ン
あれ、「時」ってナイベントのことだと解釈してたけど、もしかして「ナキー押した時」ってことだった……?
そうするとついでに確認ですが、本当の要求は「ヘヘにしたい」とかじゃなくて
「ナキーを押したら次のフィールドに移動するようにしたい」だったりしませんか?
スススススススススススススススススススススススススススススススススススススススス
ニコ ヒネナーーイイア
トコ イーアオッーエッーイィ木ゥ イウコアカコアイ 書込者ノト:ロ 「。ィ ン
ナホヤナメヲサ時にヲサ必ずヲサルルルルヲサに移動するんだったら
ヲサヤニアョトヤミアヒトィモコヲサヤマサヲサヒコヲサラサ
ヲサヲサモコヲサヤモモゥサ
ヲサヲサヲサヲサヲサヒヲサスヲサヨピメナヤユメホヲサ
ヲサヲサヲサヲサ
ヲサヲサヲサヲサヲサヲサモヘヲサィトヤミアョネャラペフツユヤヤマホトマラホャーャヘチヒナフミチメチヘィオャオゥゥサ
ヲサヲサヲサヲササ
サ
スススススススススススススススススススススススススススススススススススススススス
ニコ ヒネナーーイイア
トコ イーアオッーエッーイィ木ゥ イウコアキコーウ 書込者ノト:ロ 「。ィ ン
ヘヘヲサにするならヲサマウスの位置を変えればできる
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアオッーエッーウィ金ゥ ーケコイカコウア 書込者ノト:ロ 「。「 「「 ン
いろいろ教えていただきありがとうございます。
時と書いたのでまずかったような気がしています。
単にフォーカスがあたったときという意味でした。
申し訳ございませんでした。
スススススススススススススススススススススススススススススススススススススススス
ニコ 通りすがり
トコ イーアオッーエッーウィ金ゥ アカコウウコエア 書込者ノト:ロ 」。 。 ン
で?何をしたくて、何をどこまでやって、何が動いて、何が動かないの?
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアオッーエッーカィ月ゥ アーコーカコウア 書込者ノト:ロ 「。「 「「 ン
ヲサで?何をしたくて
にフォーカスがあたったとき、月を選択状態にする
がッヘヘになっているので、ヘヘが選択状態にしたい
ヲサ何をどこまでやって
を使ってヘヘに移動しようとしましたが、ョにの定義がないのでできませんでした。
を使って右矢印をア回押させましたが、が選択されました。
ヲサ何が動いて、何が動かないの
何も動いていません。
スススススススススススススススススススススススススススススススススススススススス
ニコ 通りすがり
トコ イーアオッーエッーカィ月ゥ アウコイカコオア 書込者ノト:ロ 」。 。 ン
ふーむ。じゃあこんな感じで。
ヲサヤニアョトヤミアナィモコヲサヤマゥサ
ヲサヲサ゜ィヨピメノヌネヤャーャーャーゥサ
ヲサヲサ゜ィヨピメノヌネヤャーャヒナルナヨナホヤニ゜ヒナルユミャーゥサ
サ
と思ったらイ回目にが選択されるなぁ。
スススススススススススススススススススススススススススススススススススススススス
ニコ
トコ イーアオッーエッーカィ月ゥ アウコウウコーク 書込者ノト:ロ 」 ァ」ハノ
ン
そうなの?ヲサ少なくともこのコードで、フォーカスが当たるたびに選択を一つ隣に移すことはできましたが。
もちろんこれだけだとフォーカス当たるたびにずんずん右に動いていっちゃうから実用性はないんですけどね。
ヲサヤニアョトヤミアナィモコヲサヤマゥサ
ヲサヲサミヘィトヤミアョネャヲサラペヒナルトマラホャヲサヨピメノヌネヤャヲサーゥサ
ヲサヲサミヘィトヤミアョネャヲサラペヒナルユミャヲサヨピメノヌネヤャヲサーゥサ
サ
こういうのは「どこで」「何を」実行したかが重要ですから
「自分では当然だと思っている」ようなことでも省略せず、実際に使ったコードを正確に示してもらわないといけません。
でないとまた「うちではできた」「こっちではできない」の押し問答が始まってしまいますよ。
ところで「フォーカスが当たる」のには色々な契機があります。
ュヲサヤなどのキー操作で移動してくる
ュヲサマウスでクリックする
ュヲサヘテをドロップダウンしてから閉じる
本当にこれら全部でヘヘフィールドを強制的に選択していいんでしょうか?
(個人的には、マウス操作の場合にクリックした場所が選択されないと不便だと思うのですが……)
で、そもそも何故そういうことをしたいのか?フォーカスが当たった時にヘヘを選択させることにどういう実用的用途があるのか?ということを推測してみたのですが
本当の目的は「トヤミを使うとき、最も頻繁に変えるのは月の部分である。
最初に年が選択されているのは不便なので、月が選択されている状態にしてほしい」ではないでしょうか?
もしその目的だとしたら、必ずしも「フォーカスが当たった時」ではなく
最初の一回だけ、ニ作成直後にでもヨピメノヌネヤを送ってやれば十分なのではないかと思います。
いったん月が選択されている状態になれば、後は別のフィールドに選択を変更しない限り
フォーカスを外してまた戻ってきても、同じフィールドが選択されたままになっています。
別のフィールド選んでしまったら、その時はまた選び直せばいいだけですし。
というわけでもう一つ重要なのは「そもそも解決したい大元の問題は何なのか」を明らかにすることです。
そうすれば、問題に対してどういう制約があるかある程度わかりますから
せっかく回答してもらったのに「それだとこの場合に駄目なんです」って後出し条件がどんどん出てくるのも避けられますし、
「それだったらこうすればいい」と別口での解決方法を示してもらえる可能性もありますよね?
スススススススススススススススススススススススススススススススススススススススス
ニコ おかぽん
トコ イーアオッーエッーカィ月ゥ アウコエキコーキ 書込者ノト:ロ 「。」」、 ン
いろいろ回答がついていますが・・・
ニヲサヲサトヤミヲサテヲサヲサネャヘヲサヲサモヲサヲサヲサテ
コッッョュュョッッッモテョソテノスイーケカヲサラノスキ
スススススススススススススススススススススススススススススススススススススススス
ニコ やまだ
トコ イーアオッーエッイエィ金ゥ アアコーアコオカ 書込者ノト:ロ 「。「 「「 ン
モコ
遅くなりまして申し訳ございません。
教えていただいたサイトを参考にしてやったら、上手く行きました。
ただに貼り付けたに対してやった場合、思った通りに行かず、返答が遅くなってしまいました。
申し訳ございませんでした。
にを貼り付けてミテアテで教えていただいたコードを実行すると変な動きをするので、自体にバグがあるのではを思っています。
ミテアテ以外のイベントに書き込んで上手く行きました。
ありがとうございました。助かりました。
ツイート | ![]() |