コンボボックスで指定した内容を編集したい

解決


ゆり  2008-01-30 02:57:23  No: 29565

コンボボックスでコードと名称を表示して、
選択した内容を画面上で編集する事ができますか?

cmbKaisyacd.Items.Add(DS01.FieldByName('コード').AsString 
+ ' ' + DS01.FieldByName('名称').AsString);

ここでコンボボックス(コード・名称)のデータを作り
コンボボックスを指定した段階でコードと名称に分けたいのですが。

cmbKaisname.text := Copy(cmbKaisyacd.text,3,20);
cmbKaisyacd.text := Copy(cmbKaisyacd.text,1,2);

こんな感じでOnSelectのイベントで定義しました。
この段階でCopyでデータは取得できるのですが、
この処理よりも後にコンボボックスからcmbKaisyacd.textに
データが移動されるらしくうまく処理できません。


KHE00221  2008-01-30 05:01:38  No: 29566

どちらかの方法になると思います

----------------------------

procedure TForm3.cmdKaishacdSelect(Sender: TObject);
begin
    PostMessage (Handle,WM_USER+$100,0,0);
end;

procedure TForm3.WMUSER100(var Message: TMessage);
begin
    cmbKaisyacd.text := Copy(cmbKaisyacd.text,1,2);
    Exit;
end;

------------------

procedure TForm3.cmdKaisyacdSelect(Sender: TObject);
begin
    Timer1.Interval := 1;
    Timer1.Enabled  := True;
end;

procedure TForm3.Timer1Timer(Sender: TObject);
begin
    cmbKaisyacd.text := Copy(cmbKaisyacd.text,1,2);
    Timer1.Enabled := False;
end;


HOta  2008-01-30 06:09:40  No: 29567

コードはObjectに渡して、表示と分けたらすっきりしますよ。


ゆり  2008-01-30 17:56:24  No: 29568

ありがとうございました。
イベントを発生させて表示するなんて。
勉強になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加