CAFE

Delphi 관련 팁

프로그램 기능 구현 시 - 콤보박스 사용 표준

작성자tkdsong|작성시간11.08.31|조회수1,825 목록 댓글 0

콤보박스 이름 : 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]];

 

 

다음검색
현재 게시글 추가 기능 열기
  • 북마크
  • 신고 센터로 신고

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼