본문 바로가기
Delphi Tip/컴포넌트

델파이 콤보박스 key 값 설정

by MonoSoft 2021. 11. 10.
728x90
반응형

델파이 콤보박스 key 값 설정

 

 

콤보박스 이름 : Cbo_Adjust

콤보박스 속성 :

   ItemHeight : 17

   Style : csOwnerDrawFixed

 

--OnDrawItem Handler---

with (Control as TComboBox) do

begin

    Canvas.Font.Size := 10;

    Canvas.FillRect (Rect);

    Canvas.TextOut (Rect.Left + 2 , Rect.Top + 2 , Items.Values [Items.Names[Index]]);

end;

 

--COMBOBOX 데이터 넣을 때---

    --- 불필요할 수도 있음 ---

Cbo_Adjust.Items.Values ['*'] := FieldByName ('CODE_DESC').asString;

while not eof do

begin

    Cbo_Adjust.ITems.Values [FieldByName ('CODE').asString] := FieldByName ('CODE_DESC').asString;

    next;

end;

 

-- COMBOBOX 의 CODE 부분을 불러올때 --

ParamByName ('P_ADJUST_NO').asString := Cbo_Adjust.Items.Names [Cbo_Adjust.ItemIndex];

 

-- COMBOBOX 의 특정 ITEM 을 선택할 대 (프로그램적으로)

Cbo_Adjust.ItemIndex := Cbo_Adjust.Items.IndexOfName (FieldByName ('CODE').asString);

 

-- ComboBox의 값을 삭제할때

procedure TM0002M.ComboBoxF7KeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

   if ((Key = VK_DELETE) or (Key = VK_BACK)) then

      (Sender as TComboBox).ItemIndex   := -1;

end;

****2개의 필드값을 불러오지 않고 1개의 필드값만 불러오고자 할경우***

Style : csDropDownList

--OnDrawItem Event Handler는 필요없슴---

-- COMBOBOX 의 특정 ITEM 을 선택할 대 (프로그램적으로)

ComboBoxF3.ItemIndex := ComboBoxF3.Items.IndexOf(GridCells[2, NewRow]);

-- CODE가 아닌 문자값 VALUE 값 가져올때  ------------------

문자값 := cmbENGIN_CLASS.Items.Strings[cmbENGIN_CLASS.ItemIndex];

문자값 := cmbFEE_GUBUN.Items.Values[cmbFEE_GUBUN.Items.Names[cmbFEE_GUBUN.ItemIndex]];

 

728x90
반응형

'Delphi Tip > 컴포넌트' 카테고리의 다른 글

델파이 컴포넌트(Component) 1편  (0) 2023.07.14
델파이 DSPack MP4  (0) 2021.11.11
TAdvColumnGrid 팁  (0) 2021.11.09
델파이 XE10.2에 SAPI 컴포넌트 등록 방법  (0) 2021.11.08
델파이 TChart 마커 이동하기  (0) 2021.11.04

댓글