Search

CTestApp, CMainFrame, CTestDoc, CTestView

Afx 로 시작하는 것들은 전역함수들 이니까..
실은 어디에서나 사용 가능하겠죠....

◎ CTestApp에서
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
CTestDoc* pDoc = (CTestDoc*)((CMainFrame*)AfxGetMainWnd())->GetActiveDocument();
CTestView* pView = (CTestView*)((CMainFrame*)AfxGetMainWnd())->GetActiveView();

◎ CMainFrame에서
CTestApp* pApp = (CTestApp*)AfxGetApp();
CTestDoc* pDoc = (CTestDoc*)GetActiveDocument();
CTestView* pView = (CTestView*)GetActiveView();

◎ CTestDoc에서
CTestApp* pApp = (CTestApp*)AfxGetApp();
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
CTestView* pView = (CTestView*)((CMainFrame*)AfxGetMainWnd())->GetActiveView();

◎ CTestView에서
CTestApp* pApp = (CTestApp*)AfxGetApp();
CMainFrame* pFrame = (CMainFrame*)AfxGetMainWnd();
                  or (CMainFrame*)GetParent();
CTestDoc* pDoc = (CTestDoc*)((CMainFrame*)AfxGetMainWnd())->GetActiveDocument();
              or (CTestDoc*)GetDocument();


메인 -> doc -> 뷰 -> 기타 잡스러운 헤더 순으로 include!
о³°`"″´·,\(´ ∇`)ノ,·´″"`°³о

'FreeBoard' 카테고리의 다른 글

나영군 기사  (1) 2006.11.10
lecture  (0) 2006.03.10
음... ㅡ,.ㅡ  (0) 2004.02.21
나당...  (0) 2004.02.05
설날 영화 리스트임다 ^^  (0) 2004.01.15

About DLL part 1 (DLL의 종류)

Program Visual C++ 2005. 8. 25. 11:04 Posted by HisPark
About DLL part 1   (DLL의 종류)

대략 두가지 정도로 구분할수가 있습니다.


  1.일반 DLL

   통상적으로 일반 DLL은 C++ 이외의 프로그램에서도 사용할수 있지만 형태가 C함수 형태를

   가져야 하기 때문에  C++의 클래스나 오버로딩된 함수들은 내부에서만 사용할수 있고

   외부에서 호출하수 없습니다.

    * 연결방식으로는 정적 연결과 공유연결이있습니다.

       정적 연결방식은 배포시 제약이 거의 없지만 공유 연결방식은 MFC DLL을 공유하기때문에
      
       배포시에는 관련 MFC DLL도 포함해서 배포해야합니다.


  2. 확장 DLL

    우선 MFC 프로그램에서만 사용이 가능하고 C++의 클래스도 익스포트가 가능합니다.

    또한 장점으로는 MFC에서 사용하는 각종 리소스를 사용가능하다는것 입니다.

     * 연결방식은 정적연결을 지원하지 않고 공유연결방식만 사용가능합니다.


About String

Program C/C++ 2005. 8. 5. 17:14 Posted by HisPark
String String .......

Sample code
CString cs;
BSTR bstr;
WCHAR wsz[81];
CComBSTR cbstr;
char sz[81];
TCHAR tsz[81];
basic_string bs;
_bstr_t _bstr;

USES_CONVERSION;
    
// Convert CString to various types
cs = "String1";
bstr = cs.AllocSysString();   // BSTR    
_tcscpy(tsz, (LPCTSTR)cs);    // LPCTSTR
strcpy(sz, T2A(tsz));       // ANSI string
wcscpy(wsz, bstr);         // wide string
cbstr = bstr;             // CComBSTR via
bs = sz;                // STL string
_bstr = (LPCTSTR) cs;       // _bstr_t via either
                     //   operator=(const char*) or
                     //   operator=(const wchar_t*)
                     //   if _UNICODE is defined.
::SysFreeString(bstr);

// Convert BSTR to various types
bstr = ::SysAllocString(L"String2");
cs = bstr;               // CString via its LPCWSTR ctor
wcscpy(wsz, bstr);         // Unicode
cbstr = bstr;             // CComBSTR via operator=(LPOLESTR)
strcpy(sz, W2A(bstr));       // ANSI string
bs = sz;                // STL string operator=(const T*)
_tcscpy(tsz, W2T(bstr));     // LPTSTR
_bstr = bstr;             // _bstr_t via operator=(const wchar_t*)
::SysFreeString(bstr);

참조링크
http://www.hal-pc.org/%7Eabeld/cppsighal/vcppstrings.htm#Sample
http://www.oreilly.com/catalog/win32api/chapter/ch06.html
http://www.whooper.co.uk/excelvariants.htm

'Program C/C++' 카테고리의 다른 글

Class 내부 Thread basic...  (1) 2013.05.10
typedef...  (0) 2011.09.26
c 표준 함수들  (0) 2011.06.24
문자열 타입 변환 | C & C++  (0) 2010.10.13
C++의 다양한 string 타입 | C & C++  (0) 2010.01.30