C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 >>
■233  Re[7]: IMEの入力モード取得
□投稿者/ kara虎 -(2005/03/18(Fri) 10:19:25)
記事No.225 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■231  Re[6]: IMEの入力モード取得
□投稿者/ きいちろう -(2005/03/17(Thu) 12:17:20)
>

    分類:[VC++] 

    > こういった、それなりに有名なソフトでも取得できていないということは
    > なにか特殊なことが起こっていると考えてよさそうですね
    そうですね。根が深いんだなと思いました。
    でも、他の方のソフトでも起こるということは私の単純バグの可能性は低いですね(いい訳の根拠になります..)。
    私の開発環境固有の現象という可能性も低そう。

    > たいしたアドバイスが出来なくてごめんなさい
    とんでもないです。色々分かって助かりました。
    どうもありがとうございます。

記事No.225 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■230  Re[5]: IMEの入力モード取得
□投稿者/ kara虎 -(2005/03/17(Thu) 10:51:53)

    分類:[VC++] 

    > こちらでも試してみましたが、IE6上ではIME Watcherもモード切替を検知しませんでした。(Googleの検索フィールドでIMEをオンにした後、[無変換]キーを押してもモード表示が切り替わらない/メモ帳では切り替わる)。
    あ、ホントだ
    ON、OFF出来るかを見てました
    すみません

    こういった、それなりに有名なソフトでも取得できていないということは
    なにか特殊なことが起こっていると考えてよさそうですね

    ちなみにFirefox1.0、Opera7.53では取得できているようでした

    > フックのDLLと表示のAPで込み入ってるので、しばらく中身を整理してからこちらにアップさせていただきたいと思います。
    ソースがあれば、識者の方が何かを指摘してくれるかもしれません
    僕の力ではもう無理そうです(汗

    > 色々アドバイスいただき本当にありがとうございます(周囲に聞いても分かる人がいないので..)。
    たいしたアドバイスが出来なくてごめんなさい

記事No.225 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■229  Re[4]: IMEの入力モード取得
□投稿者/ きいちろう -(2005/03/17(Thu) 09:37:12)
>

    分類:[VC++] 

    > 入力モード(lpfdwConversion)の間違いですよね?
    入力モード(ConversionMode)の間違いです。すみません。

    > 「IME Watcher」というソフトではIE6上の入力モード状態を取得できているようでした
    こちらでも試してみましたが、IE6上ではIME Watcherもモード切替を検知しませんでした。(Googleの検索フィールドでIMEをオンにした後、[無変換]キーを押してもモード表示が切り替わらない/メモ帳では切り替わる)。

    > 状況を再現できる最小のコードを提示してもらえたら、こっちでも確認してみますよ(解決には至らない可能性が高いですが(汗))
    フックのDLLと表示のAPで込み入ってるので、しばらく中身を整理してからこちらにアップさせていただきたいと思います。

    色々アドバイスいただき本当にありがとうございます(周囲に聞いても分かる人がいないので..)。
記事No.225 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■228  Re[3]: IMEの入力モード取得
□投稿者/ Kara虎 -(2005/03/16(Wed) 21:43:16)

    分類:[VC++] 

    > 変換モードの値はやはり0x00000019が返ってきてしまいました。。
    入力モード(lpfdwConversion)の間違いですよね?
    変換モード(lpfdwSentence)の値がほしいんでしたっけ?

    「IME Watcher」というソフトではIE6上の入力モード状態を取得できているようでした
    http://homepage3.nifty.com/takubon_world/software/IMEWatcher/

    状況を再現できる最小のコードを提示してもらえたら、こっちでも確認してみますよ(解決には至らない可能性が高いですが(汗))

記事No.225 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■227  Re[2]: IMEの入力モード取得
□投稿者/ きいちろう -(2005/03/16(Wed) 19:33:07)
>

    分類:[VC++] 

    > 通用するのかはわかりませんがWM_KEYUPの時にもImmGetConversionStatusを実行してみてはどうでしょうか?

    WM_KEYUPを拾うよう試してみましたが、変換モードの値はやはり0x00000019が返ってきてしまいました。。
    出来ればKEY_DOWNもKEY_UPも拾いたくないと思ってるんです(システムフックだから性能が大丈夫かなあと思いまして)。

    それと、前の説明に書きわすれてしまいましたが、IE6でもIMEのオープン/クローズは検知できています。WM_NOTIFYを受けたときにImmGetOpenStatusを実行すると、IMEのオープン状態は正しい値が返ってきます。
記事No.225 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■226  Re[1]: IMEの入力モード取得
□投稿者/ Kara虎 -(2005/03/16(Wed) 19:10:23)

    分類:[VC++] 

    Kara虎と申します

    > フックプロシージャ内でWM_NOTIFY/WM_KEYDOWNを受け取るたびにImmGetConversionStatusを実行してlpfdwConversionを取得し、表示用APに通知します。

    SPY++で、IE6で「半角/全角」キーを押したときの動きを見てみたら
    <00201> 002F08EC P WM_KEYUP nVirtKey:00F3 cRepeat:1 ScanCode:29 fExtended:0 fAltDown:0 fRepeat:1 fUp:1
    <00202> 002F08EC S ..............................................WM_IME_NOTIFY dwCommand:00000008 dwData:00000000
    <00203> 002F08EC R ..............................................WM_IME_NOTIFY
    となっていました

    通用するのかはわかりませんがWM_KEYUPの時にもImmGetConversionStatusを実行してみてはどうでしょうか?
    WM_IME_NOTIFYで実行の方が良いかもしれません(あんまり自信はないです)

記事No.225 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■225  IMEの入力モード取得
□投稿者/ きいちろう -(2005/03/16(Wed) 17:01:40)
>

    分類:[VC++] 


    分類:[VC++] 

    きいちろうと申します。
    GDNよりじゃんぬねっとさんのページにたどりつきました。
    WindowsXP/IME2002環境でIMEの入力モードを取得する方法に関してお願いします。


    【実施したいこと】
    IMEの入力モード状態表示(「全角ひらがな」、「半角カタカナ」等)を行うプログラムを作成したいと考えています。


    【試した事】
    WH_CALLWNDPROCでグローバルフックをかけます(無理矢理ですね..)。
    フックプロシージャ内でWM_NOTIFY/WM_KEYDOWNを受け取るたびにImmGetConversionStatusを実行してlpfdwConversionを取得し、表示用APに通知します。

    【現象】
    メモ帳などのプログラムでは、lpfdwConversionに入力モードに従った値が返されるのに対し、IE6ではlpfdwConversionは常に0x19が返されます。

    TextServiceFrameworkも調べてみたのですが、入力モードを取得する方法については手がかりを見つけられませんでした。
    IE6等でも正しい入力モードを取得する方法がありましたら教えていただけますようお願いいたします。

親記事 /0過去ログ1より / 関連記事表示
削除チェック/

■216  Re[4]: ExTextBoxについて
□投稿者/ さかもと -(2005/03/14(Mon) 20:23:12)

    分類:[VB.NET] 

    管理人様

     ご返答ありがとうございます。
    時刻の件了解致しました。

     コントロール外で対応が一番かと思います。
    ソース拝見など恐れ多くて。でも向学のために拝見したいような・・・(笑)
    もし「どうせ拡張とか出来ないだろうけど見せてやるかぁ」
    ということなら是非読ませてください(笑)ちゃっかりとアドレスまで
    載せておきました(笑)

     時刻の指定・・・,確かにあまり必要ないかとは思うのですが
    仕様上,印刷時刻(とある督促状印刷の為,印刷時の正確な時刻が必要
    だそうで・・・(笑))がどうしても!ということだったので仕方なくです。

     ご返答誠にありがとうございます。
     本件については解決済みにさせて頂きます。
     
記事No.211 のレス / END /過去ログ1より / 関連記事表示
削除チェック/

■215  Re[3]: ExTextBoxについて
□投稿者/ じゃんぬねっと -(2005/03/14(Mon) 19:54:23)
>

    分類:[VB.NET] 

    こんにちは、管理人のじゃんぬ です。

    No214に返信(さかもとさんの記事)
    > XML のリファレンス拝見させて頂きました。
    > 書いてありますねちゃんと・・・申し訳ありませんでした。

    いえいえ、ちゃんとしたリファレンスを作るべきだと思っております。
    ただ、あのコントロール自体は未完成のものが多いですので、そのまま放置状態になっております。(^-^;)

    > 今度はDateタイプについてです。
    > リファレンスを見ると「日付スタイルのみ」(時刻までは含まない?)
    > 時刻の書式はできるのでしょうか?

    すいません、Date のみで Time ができておりません。(^^)
    実は、あの TextBox はある業務で私が作ったものを流用しているのですが、
    時刻の指定まで必要な業務が、今までになかったものですから... (^-^;)

    > 方法がありましたらご教授頂ければと思います。
    > 宜しくお願い致します。

    バージョンアップを待つ... なんてことはできませんよね。(^-^A)

    コントロール内ですべて対応するのではなく、コントロール外で対応できないこともないですよね?
    どうしても、コントロール内で対応したい場合は、ソースをお送りしますよ。
    もちろん、好きなように拡張して結構です。
記事No.211 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■214  Re[2]: ExTextBoxについて
□投稿者/ さかもと -(2005/03/14(Mon) 19:19:31)

    分類:[VB.NET] 

    管理人様

     ご返答ありがとうございます。
    XML のリファレンス拝見させて頂きました。
    書いてありますねちゃんと・・・申し訳ありませんでした。

    上記の件,UIntとすることで出来ました。
    ありがとうございました。

     もう一つ,質問をさせて頂きたいのですが,
    今度はDateタイプについてです。
    リファレンスを見ると「日付スタイルのみ」(時刻までは含まない?)
    となっていますが,以下のようなスタイルで
    整形するにはどのようにしたら良いでしょうか?
    【yyyy/MM/dd HH:mm:ss】

    Formatを「yyyy/MM/dd HH:mm:ss」としたとき
    1:日付「3/3」と入力
    2:フォーカスを遷移
    3:「2005/03/03 00:00:00」と表示される

    までは問題ないのですが,テキストボックスの時刻
    の部分「00:00:00」を編集(時間を12にする12:00:00)した後,
    フォーカスを遷移させると
    「20050303 12:00:00」と表示され,整形されません。
    書式指定文字「g」,「G」でも同様でした。
    時刻の書式はできるのでしょうか?

    方法がありましたらご教授頂ければと思います。
    宜しくお願い致します。


記事No.211 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■212  Re[1]: ExTextBoxについて
□投稿者/ じゃんぬねっと -(2005/03/14(Mon) 17:33:03)
>

    分類:[VB.NET] 

    こんにちは、管理人のじゃんぬ です。
    掲示板を利用して頂き、ありがとうございます。

    No211に返信(さかもとさんの記事)
    > 最大入力文字数と追加定義プロパティの文字数を一致させるには
    > どのような指定方法をとれば宜しいでしょうか?

    AvailableType には、Int および UInt がありますよね?
    Int は符号有りの数値タイプなのです。

    Int の場合 7 桁は、
    「+123456」または「-123456」という解釈になり、先頭の桁が削除されます。

    UInt は Unsigned Integer というわけでして、符号無しです。(^^)
    というわけで、この場合は UInt をお使いください。

    一応、オブジェクト ブラウザから、XML のリファレンスを見ることができますが、
    そこの、EnumAvailableType の一覧を参照してください。

    ちゃんとしたリファレンスがなきゃダメですね。
    ご迷惑をおかけして、申し訳ありません。

    # ご丁寧の文章ありがとうございました。m(_ _)m
記事No.211 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■211  ExTextBoxについて
□投稿者/ さかもと -(2005/03/14(Mon) 16:47:04)

    分類:[VB.NET] 


    分類:[VB.NET] 

    お世話になります。
     先日,下記の「テキストボックスへの入力制限」のレスで
    質問させて頂き,管理人様が作成されたExTextBoxを現在
    利用させていただいております。

     その中でいくつか不明な点がありまして再度質問をさせて
    頂きたいと思います。

    概要は「MaxLengthとIntタイプのFormatの文字数を
    一致させるには?」です(かなり分かりづらくてすいません)

    =====================================================================
    【1】希望動作
    1:テキストボックスへの最大入力文字数は7桁とすること
    2:何も入力されずにフォーカスが移動すると「0」と入力されること
    3:1〜7桁入力した場合に桁区切りは行わないこと
    4:「0010」など先頭に0を入力した場合はフォーカスが移動すると
    「10」と数字形式として表示されること
    5:1桁だけ入力をしてフォーカスを遷移しても「0」とならないこと
    です。
    =====================================================================

    【2 私が行った事 その1】
    1:ExTextBoxをフォームに貼り付ける(名前をtestとする)
    2:追加定義プロパティで AvalrableType=Int Format=######0(★#が6つと0で7桁)とする
    3:動作プロパティのMaxLength=7とする
    4:デバッグモードで実行
    5:テキストボックス(test)に「1234567」と入力
    6:フォーカスをTABキーで移動
    7:テキストボックスが「234567」(1が消え6桁に?)となってしまう

    【3 行ったこと その2】
    上記手順の2,3を
    2:追加定義プロパティで AvalrableType=Int Format=#######0(★#が7つと0で8桁)とする
    3:動作プロパティのMaxLength=7とする(そのまま)
    4:デバッグモードで実行
    5:テキストボックス(test)に「1234567」と入力
    6:フォーカスをTABキーで移動
    7:テキストボックスが「234567」となり,やはり6桁になってしまう。

    【4 行ったこと その3】
    上記手順の2,3を

    2:追加定義プロパティで AvalrableType=Int Format=#######0(★#が7つと0で8桁★)とする
    3:動作プロパティのMaxLength=8(★8にする)とし
    4:デバッグモードで実行
    5:テキストボックス(test)に「1234567」と入力
    6:フォーカスをTABキーで移動
    7:テキストボックスが「1234567」となる

    しかし,ここで手順5の段階で実際は8桁まで入力が出来てしまいます。
    (MaxLength=8としている為これは普通の動作ですが)

    仮に手順5で「12345678」と8桁入力してしまった場合
    フォーカスを失った時点で「2345678」となってしまいますので
    希望動作とは異なってきます。

    【5 行ったこと その4】
    2:追加定義プロパティで AvalrableType=Int Format=#0(★#が1つと0で2桁★)とする
    3:動作プロパティのMaxLength=7とし
    4:デバッグモードで実行
    5:テキストボックス(test)に「1234567」と入力
    6:フォーカスをTABキーで移動
    7:テキストボックスが「234567」となる

    最大入力文字数と追加定義プロパティの文字数を一致させるにはどのような指定方法をとれば宜しいでしょうか?間違いを指定頂ければ幸いです。


親記事 /0過去ログ1より / 関連記事表示
削除チェック/

■219  Re[6]: VBの勉強
□投稿者/ NOVE -(2005/03/14(Mon) 22:09:51)

    分類:[VB6以前] 

    返信ありがとうございます!
    こんなに親切にして頂いたのはみゃみゅ玉子様が初めてです。
    おかげで問題解決しました、今までご苦労様でした。
    感謝しています。


記事No.205 のレス / END /過去ログ1より / 関連記事表示
削除チェック/

■218  Re[5]: VBの勉強
□投稿者/ みゃみゅ玉子 -(2005/03/14(Mon) 21:01:59)
>

    分類:[VB6以前] 

    みゃみゅ玉子です。

    No217に返信(NOVEさんの記事)
    > どのように書き直したか教えていただけませんか、
    > SetWindowLong関数やCallWindowProc関数を理解するのが思っていたより
    > 辛かったので成功しているのを一度見て参考にしたいのですが、、、

    動きに関係するところは直していないので変わらないとは思うのですが、アップしておきます。↓
    http://www.hiemalis.org/~myamyu/temp/Module1.bas
    ※ Formはサンプルと同じでいけます。

    SetWindowLong関数やCallWindowProc関数は、通らなくてよいのなら通らないほうがいい道だと思ってます。
    終了のしかたを間違えたりすると、VBのIDEごと落ちてしまったりすると思うので。
    だから、このやり方を使う前に仕様を変えるなどで回避できないかどうかを考えたほうがいいかもしれませんね。

    # そういえば、AddressOfでAPIに関数を渡している場合、その関数にブレークポイントとか置くと確かやばかった気がします。
    # 固まるのはそれが原因ですね。たぶん。

記事No.205 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■217  Re[4]: VBの勉強
□投稿者/ NOVE -(2005/03/14(Mon) 20:34:09)

    分類:[VB6以前] 

    返信ありがとうございます。
    親切に答えていただいたのに、この様なことを書くのは気が引けるのですが

    >参考にしているサンプルでうまくいきますよ?
    ># Publicにする必要が無いやつとかStaticとかは書き直しましたけど

    どのように書き直したか教えていただけませんか、
    SetWindowLong関数やCallWindowProc関数を理解するのが思っていたより
    辛かったので成功しているのを一度見て参考にしたいのですが、、、
    物臭ですみません、もっとVBの勉強がんばります。



記事No.205 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■213  Re[3]: VBの勉強
□投稿者/ みゃみゅ玉子 -(2005/03/14(Mon) 18:00:09)
>

    分類:[VB6以前] 

    みゃみゅ玉子です。

    No210に返信(NOVEさんの記事)
    > 前に作ったフォームリサイズ制限は、「指定した最小フォームサイズよりフォーム
    > が小さくなったら、指定した最小フォームサイズの大きさに戻しましょう」
    > みたいな事をしたら制限できたのですが、この方法では、
    > フォームサイズを指定した数値を超えてしまっても、リサイズを続けると
    > フォームの端っこが、ガタガタ震えだします

    あ、なるほど。
    Resizeイベントだけで制御してるとガタガタいいますね。

    > フォームが震えないようにするにはどのようなことをすればいいのでしょう。

    ・・・あれ?
    参考にしているサンプルでうまくいきますよ?
    # Publicにする必要が無いやつとかStaticとかは書き直しましたけど

    APIのSetWindowLong関数とかCallWindowProc関数を理解してから、このサンプルを使えば問題ないと思います。
    わかりやすいサイトは・・・↓VB5ですけど、ここの解説でなんとなく理解した覚えがあります。
    http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/subc/

記事No.205 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■210  Re[2]: VBの勉強
□投稿者/ NOVE -(2005/03/14(Mon) 16:05:00)

    分類:[VB6以前] 

    分かりにくい文を読んでくれて、ありがとうございます。
    載せたサンプルの使い方はあきらめますが、インターネット上には
    私の望んでいるような動作をするサンプルがありません、
    前に作ったフォームリサイズ制限は、「指定した最小フォームサイズよりフォーム
    が小さくなったら、指定した最小フォームサイズの大きさに戻しましょう」
    みたいな事をしたら制限できたのですが、この方法では、
    フォームサイズを指定した数値を超えてしまっても、リサイズを続けると
    フォームの端っこが、ガタガタ震えだします
    フォームが震えないようにするにはどのようなことをすればいいのでしょう。

    努力して書きましたが、分かりにくい文章になってしまいます、すみません。
記事No.205 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■209  Re[1]: VBの勉強
□投稿者/ みゃみゅ玉子 -(2005/03/14(Mon) 16:01:17)
>

    分類:[VB6以前] 

    みゃみゅ玉子です。

    No205に返信(NOVEさんの記事)
    > サンプルにコメントが全くないので、直せません。
    > サンプルコードにデバッガをかけるとモジュールの一部分のところを何回も
    > 通ってフリーズしたようになります。
    > 何故このようなことが起きるのか教えてくれませんか。

    ほんとにコメントが全然無いですね。(^^;
    たぶん、ブレークポイントを置く位置をWndProc関数の入口(もしくは出口)にしているから、画面が見えたときにも呼ばれているので、そんな現象が起きているのだと思います。

    画面が表示される→ブレークポイントで止まる(画面が切り替わる)→実行すると画面が表示される→ブレークポイントで止まる

    > このバグはフォームのリサイズだけではなく、フォームに作ったボタンを
    > 押したときや、全く関係ないコードにデバッガをしてもモジュールの
    > 関数を通るようになってしまいます
    > 回避方法も教えてくれませんか、

    この関数は、フォームに送られてるすべてのメッセージを受け取ってしまいます。
    なので、uMsgを見て処理をしていますよね。
    だからフォームにカーソルが行ったときなんかも通ってしまうのは正常な動きだと思います。


記事No.205 のレス /0過去ログ1より / 関連記事表示
削除チェック/

■206  Re[1]: VBの勉強
□投稿者/ 中博俊 -(2005/03/14(Mon) 10:31:32)
>

    分類:[VB6以前] 

    こんにちは中です。

    なんだかあせっている状況はわかりますが、どうしたいのかぜんぜんわかりません。
    どこをデバッグしているのかわかりませんよね?
    リサイズに関する処理といっても、それら以外の処理も同じところで処理していればデバッグで止まってしまいますね。

    もしあなたが初心者であるならば、人のソースを見てバグだバグだと叫ぶ前にそのソースをあきらめて他のソースを使ってみるとか、そう言う方向のほうが良いでしょう。

    とくに、リンク先のソースを拝見しましたがとてもわかりやすいとは言えないですしね。

    がんばってください。


記事No.205 のレス /0過去ログ1より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 >>

ヒット件数が多いので過去ログ1〜1 までの検索結果 / 過去ログ2からさらに検索→

パスワード/

- Child Tree -