[헤더 파일에 선인]
ULONG32 statusDropDownControl; // 동적인 컨트롤 상태를 담기위한 변수 초기화값은 0x00000000
enum
 {
  DROPDOWN_NONE   = 0x00000000, // 0000 0000 0000 0000 0000 0000 0000 0000
  DROPDOWN_COLOR   = 0x00000001, // 0000 0000 0000 0000 0000 0000 0000 0001
  DROPDOWN_SIZE   = 0x00000002, // 0000 0000 0000 0000 0000 0000 0000 0010
  DROPDOWN_FRONT   = 0x00000004, // 0000 0000 0000 0000 0000 0000 0000 0100
  DROPDOWN_FRAMECOLOR  = 0x00000008, // 0000 0000 0000 0000 0000 0000 0000 1000

  DROPDOWN_UPDATE1   = 0x00000010, // 0000 0000 0000 0000 0000 0000 0001 0000
  DROPDOWN_UPDATE2   = 0x00000020, // 0000 0000 0000 0000 0000 0000 0010 0000
  DROPDOWN_UPDATE3   = 0x00000040, // 0000 0000 0000 0000 0000 0000 0100 0000
  DROPDOWN_UPDATE4   = 0x00000080, // 0000 0000 0000 0000 0000 0000 1000 0000
 }; 

[실제 cpp 구현부분]

 * 상대 값들을 추가 할때
 statusDropDownControl |= DROPDOWN_COLOR;
 statusDropDownControl |= DROPDOWN_SIZE;
 statusDropDownControl |= DROPDOWN_FRONT;
 statusDropDownControl |= DROPDOWN_FRAMECOLOR;

* 해당 상태값을 얻을때
if(statusDropDown & DROPDOWN_COLOR)
 {
  ..

  retCount ++;
 }
 
 if(statusDropDown & DROPDOWN_SIZE)
 {
  // Size
  if(SalePriceDlgFormWnd->bb.hStatic[retCount] == NULL)
  ...
  retCount ++;
 }

 if(statusDropDown & DROPDOWN_FRONT)
 {
  // FRONT
  if(SalePriceDlgFormWnd->bb.hStatic[retCount] == NULL)
  ..
  retCount ++;
 }
 
 if(statusDropDown & DROPDOWN_FRAMECOLOR)
 {
  // FRAMECOLOR
  if(SalePriceDlgFormWnd->bb.hStatic[retCount] == NULL)
 ..
  retCount ++;
 }

'개발지식창고 > C' 카테고리의 다른 글

C 문자열 함수 정리  (0) 2010.09.20
BASE64 Encode/Decode  (0) 2010.09.20
문자열 처리 함수들  (0) 2010.08.22
printf 특수문자 출력하기  (0) 2010.08.16
[C/C++]#define 매크로 팁  (0) 2010.08.16
Posted by 모과이IT
,