名前 題名 ▼ 白猫さん > ▼ 白猫さん > しっつこくて、申し訳ありません。 > 前回ダウンロードした本を読んでいるうちに > ちょと、気になる箇所があって、まさかと思いながら > 記述したなら、なんとなく、ひらがなを未変換文字に > できそうです。 > 条件は、Delphi2009で操作したものです > WindosXP,VistaでもOKでした > > Saykeさんのプログラムを借用しました。 > > ================================== > Edit1で、ひらがなを確定したものを > Button1を押すと > Edit2に ひらがな 未確定変換となる > ================================= > --------------------------- > unit Unit6; > > interface > > uses > Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, > Dialogs,imm, StdCtrls; > > type > TForm6 = class(TForm) > Edit1: TEdit; > Edit2: TEdit; > Button1: TButton; > procedure Button1Click(Sender: TObject); > private > { Private 宣言 } > procedure newSetCharToEdit(Buf: String); > > public > { Public 宣言 } > end; > > var > Form6: TForm6; > > implementation > > {$R *.dfm} > > procedure TForm6.Button1Click(Sender: TObject); > begin > newSetCharToEdit(Edit1.Text); > end; > > procedure TForm6.newSetCharToEdit(Buf: String); > var > IMC: HIMC; > BufLen:Integer; > bSize:Integer; > Buf2:String; > AnsiSt:AnsiString; //これがミソ > begin > Edit2.SetFocus; > edit2.Text:=''; > > AnsiSt:=buf; //引数bufを変換 > > AnsiSt:=StringReplace(AnsiSt,' ',' ',[rfReplaceAll]); > //半角スペースがあるとうまく変換できないから、全角スペースに置き換える > > IMC:=ImmGetContext(Edit1.Handle); > SetLength(Buf2,255); > bSize:= ImmGetCompositionString(IMC,GCS_COMPSTR,PChar(Buf2),255); > SetLength(Buf2,bSize); > > Buf:=Buf2 + Buf; > > BufLen:=length(ansist); > > ImmSetCompositionString(IMC,SCS_SETSTR, PChar(Buf),BufLen, nil, 0); > > // ImmNotifyIME(Imc, NI_COMPOSITIONSTR, CPS_CONVERT, 0); > //自分で確かめてください > ImmReleaseContext(Edit1.Handle,IMC); > > end; > > end. > -------------------------------- > ながなが、スイマセンでした。 > これで、お終いとします > ごめんなさい。 > > > Saykeさんありがとうございました。 > なんか、おもしろものができました > 白猫こと 隠れコピーキャットより > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link