소스코드리뷰(XXV) 재활용 가능한 검색 폼을 만들자

[목차(도우미)]
How to make a user-search form to re-use?

단순한 문자열을 검색하는 검색폼은 윈도의 노트장에서 사용하는 검색폼이 있다. 엑셀 2003이후에서는 시트 검색을 하면 결과를 검색폼에서 목록으로 보여 주고 리스트를 클릭하면 해당하는 셀을 선택상태로 반전처리해 준다. 이러한 검색 문자열과 결과를 모두 표시해 주는 폼(화면)을 재활용할 수 있도록 만들어 보자.

검색용 폼을 디자인한다

검색 폼의 용도는 검색하려는 문자열(SearchKey)를 입력하고 검색 버튼을 눌렀을 때(OnSearch)검색을 수행하여 결과를 표시하는 것이다. 그리고 결과 리스트를 클릭했을 때(OnItemClick) 메인에서 반응처리해줄 수 있도록 해야 한다.

소스코드예

지금까지는 델파이 소스를 예로 많이 들었는데 이번에는 Visual Basic의 예로 사용한다.
  1. Form Name: SearchForm
  2. property Get SearchKey As String
  3. property Get SearchRange As Long
  4. Event OnSearch(ByVal SearchKey As String, AListview as ListView)
  5. Event OnItemClick(Item As ListItem)

  6. 'Main에서의 선언
  7. Private WithEvents FSearchForm As SearchForm

간단한 해설

검색 처리는 FSearchForm_OnSearch에서 수행하고 결과를 AListview에 추가하면 된다. 검색폼에서 리스트를 클릭한 경우에는 FSearchForm_OnItemClick_에서 메인폼에 있는 컴포넌트에 반전처리등을 수행하면 된다.

결과적으로 검색폼에서는 이벤트를 통지할 뿐이고 검색 처리는 호출부에서 수행하므로 이 검색폼은 공통으로 재활용이 가능하다.
by 금메달.아빠 on 2010. 9. 21. 23:28