|
void __fastcall TMainForm::InitBlockPanel(void)
{
int i;
char cValue;
AnsiString strTmp;
AnsiString strPrefix,strBuffer;
cbBStart1->Items->BeginUpdate();
cbBEnd1->Items->BeginUpdate();
cbBStart1->Items->Clear();
cbBEnd1->Items->Clear();
for(i = 0; i < 26; i++)
{
cValue = 'A'+i;
strTmp.sprintf("%c",cValue);
cbBStart1->Items->Add(strTmp);
cbBEnd1->Items->Add(strTmp);
}
cbBStart1->Items->EndUpdate();
cbBEnd1->Items->EndUpdate();
cbBStart1->ItemIndex = 0;
cbBEnd1->ItemIndex = 0;
strPrefix="";
------------------------------------------------------------------
void __fastcall TMainForm::cbBStart1Change(TObject *Sender)
{
int iStartIdx = cbBStart1->ItemIndex;
int i;
char cValue;
AnsiString strTmp;
cbBEnd1->Items->BeginUpdate();
cbBEnd1->Items->Clear();
for(i = iStartIdx; i < 26; i++)
{
cValue = 'A'+i;
strTmp.sprintf("%c",cValue);
cbBEnd1->Items->Add(strTmp);
}
cbBEnd1->Items->EndUpdate();
cbBEnd1->ItemIndex = 0;
}
---------------------------------------------------------------------
ComboBox에 A~Z까지 목록에 뜨게 설정해두었습니다.
cbBStart1 값을 c로 하면 cbBEnd1 값이 c부터 시작하게끔 하였습니다.
그래서 마지막에 Add할 시에 두 값이 초기값으로 가기위해
cbBStart1->ItemIndex=0;
cbBEnd1->ItemIndex=0;
을 명령해주었습니다.
그 결과 cbBStart1은 초기값인 A로 정확히 값이 변경되었으나
cbBEnd1은 C 로 이동이 되었습니다.
cbBEnd1 초기값이 cbBStart1 설정값으로 설정되어있는거같습니다.;;;;
이 때 cbBEnd1 값을 A로 이동하게 하는 법을 알고싶습니다. ㅠㅠ
이게 안된다면
cbBStart1 값이 C로 지정되었을 때, cbBEnd1 값은 C부터 시작하게 되는데
이때 목록을 눌렀을때 A부터 뜨게 가능한지 알고싶네요...이게 더 힘들꺼같지만;;
사진파일 첨부하였습니다.
문경재 님이 쓰신 글 :
: 콤보박스 클리어를 말씀하시는건가요??
: cbBStart1->Clear();
:
: 답변달고 다시 읽어보니 클리어가 아니네요
: cbBEnd1->ItemIndex=0;
: 를쓰시면 cbBEnd1 콤보박스도 초기값으로 돌아가실건데
:
: 그후에
: cbBStart 를 따라가는 함수에 들어가는것 같네요
:
: 전체적인 소스를 봐야 알것 같은데요;
:
: 김동석 님이 쓰신 글 :
: : 김동석 님이 쓰신 글 :
: : : 안녕하세요
: : :
: : : c++ builder2007 Rad Studio 를 사용중입니다
: : :
: : : 리스트 목록에서 리스트를 골라 콤보박스를 이용해 add 버튼으로 항목을 추가해서 리스트목록을 추가하는 형식인데
: : :
: : : add 버튼이 눌렸을때 콤보박스를 초기값으로 바꿀수있는 방법을 알고싶습니다....
: :
: :
: : cbBStart1->ItemIndex=0;
: :
: : 이걸 쓰니 초기화가 되더군요
: :
: : 콤보박스 명칭을 cbBStart1 cbBEnd1 cbBStart2 cbBEnd2 이런식으로 했습니다
: :
: : 문제는 cbBEnd 값이 cbBStart 값을 따라가게 설정되어
: :
: : cbBEnd1->ItemIndex=0;
: :
: : 를 써도 초기값으로 돌아가지않고 cbBStart1 값이 설정됐던 값으로 돌아가더군요
: :
: : 이걸 어찌 해야 될까요
: :
: : 전체 소스가 필요할까요?
|