일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 가우스
- Spring
- PHP
- ibsheet
- Android
- 선택적조인
- rowspan
- oracle
- appspresso
- GPS
- sencha touch
- Ajax
- phonegap
- swingx
- Google Map
- PLSQL
- dock
- iBATIS
- jsr 296
- MFC
- MySQL
- JDOM
- Struts
- tomcat
- Eclipse
- node.js
- 전자정부프레임워크
- WebLogic
- jQuery
- JSON
- Today
- Total
목록MFC (14)
Where The Streets Have No Name
출처:http://www.debuglab.com/knowledge/csocket.html http://microsoft.ease.lsoft.com/scripts/wa-msn.exe?A2=ind9811c&L=mfc&T=0&P=5460 1.요약 CSocket / CAsyncSocket을 생성한 곳이 아닌 다른 Thread로 넘겨 처리할 경우 CSocket이 가진 Thread state가 변해 에러가 발생합니다. 예를들어 한쪽에서는 Listen을 하여 클라이언트 Socket을 Accept하고, Thread를 생성시켜 Socket전송을 맡길 경우에 Thread문제를 해결하는 방법을 소개하겠습니다. 2.본문 방법은 간단합니다. Accept한 Socket을 Deatch시키고 거기에서 나온 handle을 Thread..
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8187&page=2
출처 : http://discount77.com/blog/ospace/tag/resize http://www.codeproject.com/KB/dialog/easysize.aspx 다이얼로그 형태의 MFC에서 매우 유용하게 사용할 수 있는 코드이다. 사용법: 1. stdafx.h파일에 #include EasySize.h 을 추가. 2. 다이얼로그 클래스 정의한 부분에 DECLARE_EASYSIZE 넣음 class CEasySizeDemoDlg : public CDialog { DECLARE_EASYSIZE ... 3. 해당 다이얼로그 클래스의 OnInitDialog()에 INIT_EASYSIZE;을 넣음 BOOL CEasySizeDemoDlg::OnInitDialog() { CDialog::OnInitD..
출처 : http://blog.naver.com/ckpj1/100016767295 1. 요약 요즘 나오는 프로그램에서는 대부분 TrayIcon을 제공합니다. 단순히 프로그램 리스트(태스크 바)에 나오는 것보다는, TrayIcon이 사용자에게 보다 더 편리한 UI를 제공하기 때문입니다. 그런 데, 익스플로어(인터넷 익스플로어가 아닙니다.)의 버그 때문에 과 같이 종종 TrayIcon이 Tray에서 사라지는 경우가 있습 니다. 하지만, 몇몇의 프로그램은 사라지지 않고 계속 남아있는 경우도 볼 수 있습니다. 그럼 우리의 프로그램도 익스플로어와는 상관없이 계속 트레이에 있으려면 어떻개 해야할까요? 익스플로어는 자신이 죽었다가 새 로 시작되는 경우 현재 보이는 모든 윈도우에게 멧세지를 보내주는데, 우리는 이 메시..
http://blog.naver.com/pavonine116/50013318389
출처 : http://www.codeguru.com/Cpp/controls/propertysheet/article.php/c583/ Although you can resize the property sheet and place other controls in it, sometimes its just easier to create a dialog with all the controls in place and then create a property sheet inside the dialog. You can layout the controls at design time and also the property sheet need not be on the left top side of the dialog. St..
출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=1892 실제로 우리가 사용하는 윈도우라는 것은 윈도우즈의 윈도우, 즉 HWND로 지정할 수 있 는 윈도우이다. CWnd라는 것은 하나의 윈도우, 즉 HWND를 갖고 있고,이 윈도우에 사용 하는 많은 함수들을 모아 놓은 하나의 클래스에 불과하다. 즉, HWND라는 것은 진정한 의미에서의 윈도우이고, CWnd라는 것은 단지 하나의 클래스(말 그대로 멤버 변수와 그에 따른 많은 멤버 함수를 제공하는 클래스)일 뿐이며, 이 클래스의 주된 멤버 변수 가 윈도우즈에서 사용하는 실제의 윈도우인 HWND(m_hWnd)이고, 이것을 제어하기 위한 많은 함수를 제공한다. 실제로 C..
출처 : http://www.souljin.net/entry/MFC-INI-File-%EC%9E%85%EC%B6%9C%EB%A0%A5 GetPrivateProfileInt GetPrivateProfileSection GetPrivateProfileSectionNames GetPrivateProfileString GetPrivateProfileStruct GetProfileInt GetProfileSection GetProfileString WritePrivateProfileSection WritePrivateProfileString WritePrivateProfileStruct WriteProfileSection WriteProfileString 위에 정의된 함수들을 이용해 입출력한다. ini 파일은 세..
출처 : http://blog.naver.com/mind2on/80009619180 CString ⇒ char* CString str; str = "Hello"; char* ss = LPSTR(LPCTSTR(str)); char* ⇒ CString char ss[] = "Hello"; CString str; str.Format("%s", ss); (Format대신에 GetBuffer()를 써도 됩니다.)
출처 : http://box.co.kr/raymondjeon/index.php/741 CWnd* pWnd = GetDlgItem( IDC_MYBUTTON ); // OK CButton* pBtn = (CButton*)pWnd; // WRONG, its not a CButton pBtn->SetCheck(0); // Should fail GetDlgItem() uses CWnd::FromHandle() to return the temporary pointer. class CMyDialog : public CDialog { CButton m_btn; // ... virtual BOOL OnInitDialog(); } BOOL CMyDialog::OnInitDialog() { // ... m_btn.Subcl..
출처 : http://box.co.kr/raymondjeon/index.php/738 1. 대화상자를 이용한 탭컨틀롤 사용을 알아보자. 2. 3개의 탭을 만들고 각각 대화상자를 붙여본다. 3. 3개의 대화상자를 모델리스형으로 만든다. 각각 CDlgTab1, CDlgTab2, CDlgTab3라고 하자. 4. 각각의 대화상자의 "Styles" 옵션중 "Style"은 "Child"로 "Border"는 "None"으로 "Tile Bar"는 언체크 한다. 5. 3개의 모델리스를 CMainFrame에 다음과 같이 선언하고 CDlgTab1 *m_pDlgTab1; CDlgTab2 *m_pDlgTab2; CDlgTab3 *m_pDlgTab3; * 생성자에 NULL값으로 초기화 해주는 거와 소멸자에세 NULL이 아니면 d..
Visual C++ 비디오 학습입니다. 주 내용은 MFC관련이구요. http://msdn.microsoft.com/ko-kr/visualc/bb496952(en-us).aspx
출처 : http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=8071&ref=8071 멀티쓰레드 프로그래밍을 할때면 항상 고민하는 부분이 있습니다. 또한 만약 락이 발생하면 디버깅도 쉽지 않죠. 쓰레드간 공유하는 변수들을 아래에 있는 클래스로 변수입출력을 담당하게 해주면 이러한 고민에서 조금은 해결할수 있습니다. 다음은 foobar2000 소스에 있는 좋은 클래스를 소개합니다. 실제로 얼마전에 저는 쓰레드 13개가 동작하는 멀티쓰레드 프로그래밍을 짜면서 유용하게 써먹었습니다^^ =========================================================================== class c..
출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=7362&page=23 클래스간 통신입니다. 저는 문서로 만들어놓고 자주 참고 하여 개발하고 있습니다. 의외로 자주 사용하게 되더라고요.. 좋은 자료 되었으면 합니다. MFC 클래스간 통신 SDI 형태 1. MainFrame 얻기 - CMainFrame *pFrame = (CmainFrame *) AfxGetMainWnd(); 2. App 포인터 얻기 - CTestApp *pApp = (CtestApp *) AfxGetApp(); 3. Document 포인터 얻기 - CMainFrame *pFrame = (CMainFrame *)AfxGetMainWnd(); CTe..