태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


'mfc'에 해당되는 글 2건

  1. 2008/11/17 특정 폴더의 파일 찾기
  2. 2008/10/27 Dialog 기반 Modeless 상자에서 메인 Dialog 함수 사용하기
2008/11/17 10:18

특정 폴더의 파일 찾기


특정 폴더의 파일들을 검색하여 리스트 박스에 뿌려 주기..

아래 코드는 텍스트 상자로 부터 폴더명을 입력 받고, 폴더를 검색하여 폴더가 존재 하고

그 하위에 파일이 존재 하면, 리스트 박스에 파일명을 뿌려 준다.



void CNestingInputPg::OnEnChangeBlocktext()

{

 UpdateData(TRUE);

 m_PartFileList.ResetContent();

 m_Block = m_BlockText;

 CString path;

 path.Format("c:\\CADPart\\%s\\%s",m_Hosun,m_Block);

 CFileFind finder;

 bool working = finder.FindFile( path + "\\*.*" );

 while ( working )

 {

working = finder.FindNextFile();

if (!finder.IsDirectory())

CString curfile = finder.GetFileName();

m_PartFileList.AddString(curfile);

}

 }

 finder.Close();

}




혹 파일명이 아닌, 폴더명을 검색하고 싶다면.. 아래와 같이 하면 된다.

아래는 폴더를 검색하여 콤보 박스에 뿌려 주는 코드 이다.

하위 폴더는 검색에서 제외 시켰다.

void CNestingInputPg::OnCbnDropdownHosuncombo()

{

 m_HosunCombo.ResetContent();

 CString path;

 path.Format("c:\\CADPart\\*.*");

 CFileFind finder;

 bool working = finder.FindFile(path);

 while ( working )

 {

  working = finder.FindNextFile();

  if(finder.IsDots())

   continue;

  CString curfile = finder.GetFileName();

  m_HosunCombo.AddString(curfile);

 }

 finder.Close();

}

저작자 표시 비영리
Trackback 0 Comment 0
2008/10/27 18:39

Dialog 기반 Modeless 상자에서 메인 Dialog 함수 사용하기

이것때문에 하루 종일 AfxGetMainWnd() 에 대해 여기 저기 찾아 해매고 다녔었다.
우리 네이버 형님께 질문해 봐도.. MDI 나 SDI 기반에서 사용하는 방법만 자세히 나와 있더군..
나같은 MFC 초보에게는 그걸 이해하고 내가 짜는 프로그램에 적용시키는데 많은 시간이 소요가 된다.
나중에 다시 사용해야 하는데 잊어 버릴수 있기에.. 이런건 어디든 즉각 즉각 자료를 남겨 둬야...

메인 Dialog 가 TestDig 이고.. Modeless Dialog 가 Flange1Bevel 일때...

void CFlange1Bevel::ChangeBevelColor(void)
{
    CTestDlg *Test = (CTestDlg*)AfxGetMainWnd();
    Test->BC = 1;
    Test->View_Test();   
}

이렇게 간단한걸... 난 몇시간이나 허비한건지...
저작자 표시 비영리
Trackback 0 Comment 0