名前 題名 ▼ Syakeさん > 私事・私事・私事・私事・私事・私事・私事・私事 > > IMEの話で、そうそう・・と思ったのですが > 現在、VB6アプリのメンテも平行してやってるわけですが・・・ > これまた一般的では無い話で強縮です。 > > 通常、人名入力は漢字名入力→フリカナ表示とやってるアプリが > 多いような(「筆まめ」など)。 > ところが、フリカナ入力→漢字名変換入力は少ないでしょう。 > {フリカナEditに入力し「Enter」すると、漢字名Editにひらかなで > 変換待ちの状態で表示される。} > > 個人的にはこの仕様が好きです。 > 漢字名の下にフリカナがあるのは変。 > かといって、漢字名の上にフリカナがあって、フリカナを修正する > 場合に、一旦前のEditに戻ってという仕様も嫌い。 > と、個人的こだわりなのですが、他のアプリ(Delphi)もそうしてま > す。(Delphiでこの仕様を実現するために苦労しましたが) > この場を借りて、皆様ありがとうございます。 > //------------------------------------------------------ > procedure TForm2.EditKanaKeyPress(Sender: TObject; var Key: Char); > var > BufStrKana :String; > Imc :HIMC;{usesにimmが必要} > begin > if Key = Chr(VK_RETURN) then > begin > if (Trim((Sender as TEdit).Text) <> '') and (EditKanji.Text = '') then > begin > EditKanji.SetFocus; > BufStrKana := (Sender as TEdit).Text; > SetImeMode(EditKanji.Handle,imHira); > Imc := ImmGetContext(EditKanji.Handle); > ImmSetCompositionString(Imc,SCS_SETSTR,PChar(BufStrKana),Length(BufStrKana),nil,0); > end else begin > EditKanji.SetFocus; > end; > end; > end; > //------------------------------------------------------ > ・・・もし、この仕様を実現したい方がおられたら(いないか・・・) > > ところで、VB6でこの仕様を「SendKeys」なるもので実現しています。 > ところが、Win9X、2000では正常に動作するものの、WinXPしかも最近の > XPではかなりの確立(30件に1件)で化けます。 > IMEのバージョンの関係かな? > フリカナ入力確定後、漢字名Editに、平かなが表示されないだけなら > まだしも(これも困るけど)、漢字名のところに「Xoあq Fdかp」など > とわけのわからん文字が変換前の状態で表示されたりします。 > これには参ってます。 > VB6アプリは俺が作ったわけではないし、何やってるのかわかんない箇 > 所が多いし、今更VB6で他の方法で実現させるのも面倒だし、できるか > どうかもわかんないし、サポートないし、デバックモードと実行モー > ドで動作違うし、VB6でこんなレベルが発生しても今更驚かんし、驚か > んし、驚かんし100乗。(^_^;) > > や〜れ、そろそろ顧客も怒り出しそうだから、Delphiで作り直すかな。 > んっ待てよ、これってMSIME以外でも正常なのかな(環境が無い・・・) GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link