コンボボックスでコードと名称を表示して、
選択した内容を画面上で編集する事ができますか?
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に
データが移動されるらしくうまく処理できません。
どちらかの方法になると思います
----------------------------
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;
コードはObjectに渡して、表示と分けたらすっきりしますよ。
ありがとうございました。
イベントを発生させて表示するなんて。
勉強になりました。
ツイート | ![]() |