MFC에서 더블버퍼링 사용하기. 이걸 왜 지금까지 안올려놨었지 -.-?;; 일단 제일 중요한건 헤더 파일에 CBitmap m_Bitmap; 를 선언 하는 것. 이 비트맵에 객체를 생성하고 이것저것 해줄 것임. 우선 아래와 같이 Bitmap에 그림을 그려줌. void CDlgXXX::MakeMemBitmap(void) { CClientDC dc(this); //실제 dc CBitmap* pOldBmp; //oldbmp CDC MemDC; //메모리DC m_Bitmap.DeleteObject(); //기존꺼 지워줌 m_Bitmap.CreateCompatibleBitmap(&dc, 500, 200); //새로 만들어줌 MemDC.CreateCompatibleDC(&dc); //memDC도 새로 만들어줌 pOl..
오오 멋지당
오류코드 43이라고 뜨면서 그래픽드라이버를 윈도우에서 계속 못잡는다.. 신기한게 부트캠프를 삭제하면 잡힌다.. 수없이 지웠다 깔았다를 반복하다가 nvidia드라이버를 받아서 해당 폴더 압축 풀고 강제로 잡아주려고했더니, 여전히 안된다. 마지막으로 다시 똑같이 시도한다음에 이번에는 '찾아보기'에서 기존 드라이버 목록에 원래 드라이버가 보이길래 그걸로 해주고 재부팅했더니 된다. 기본 맥락은 다음을 따라갔음. http://cafe.naver.com/inmacbook.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=355947& 제발 완전히 고쳐졌길!!
Android의 SD카드에 파일을 쓸려는데 자꾸만 java.io.FileNotFoundException이 떴다. 처음에는 에러메세지가 No such file or directory이길래 File class가 mkdirs()를 제대로 못하나? 싶었다. 그래서 메모리에 강제로 폴더를 만들고 접근 시켰더니 이번에는 Permission denied가 나오는게 아닌가? 뭐가 문제일까 뭐가 문제일까 하다가 매니페스트를 확인해봤다. 라고 잘 있었는데... 음......... 저놈의 S는 뭐란 말인가.. EXTERNALS라니............... 로 고쳐주니까 잘 되었다. 오오.. 역시 이런 간단한 삽질로 한두시간 빼앗기고 나면 멘탈이 붕괴된다.... 근데 도대체 예전 버전에선 어떻게 됐던거지?? 분명 예전 리비..
패키지 명이 같은 프로그램은 올라가지 않기 때문에, 만든 어플의 데모(demo)버전, lite버전을 게시하기 위해선 아래와같이 패키지명을 바꿔줘야 한다. Package Explorer에서 gen폴더 바로 밑에 있는 패키지에 우측버튼 눌러서 Refactor->Rename 함. 그러면 Rename Package라는 친절한 창이 뜸. 이제 패키지 명이 testwidget.pe.kr.roter.regular 였다면, 이걸 testwidget.pe.kr.roter.lite, 이런식으로 바꿔준다. 굳이 다른 패키지까지 다 바꿀 필요는 없고, R.java 파일이 있는 패키지명만 수정해 주면 되는듯 하다. 기존에 R파일을 import했던 경로 역시 자동으로 다 바뀐다. 이제 Manifest로 가보자. 이곳에 이런식으로..
GetWindowRect GetClientRect ScreenToClient MoveWindow....등등등... 항상 복잡하다.. 이제 SetWindowPos같은건 잘 안 쓰고 MoveWindow를 잘 쓰니깐 얘를 설명하면 0,0으로 이동 시키면 현재 프로그램의 최 좌측 상단에 달라 붙는 다는 것이다. 그리고 width랑 height까지 바꿔버리니까 주의해야 한다. GetWindowRect를 하면 현재 화면 전체에서의 컨트롤 위치를 가져온다. 이놈을 이제 ScreenToClient 해주면 ('화면 전체'에서 '클라이언트의 좌표')로 바꿔주는 것이다. 즉 MoveWindow를 써줄려면 다음과 같은 순서로 진행해야한다. CWnd* pObject = this->GetDlgItem( IDC_BUTTON1 );..
MFC로 짠 프로그램 아이콘 바꾸기는 참 간단하다. 그냥 프로젝트 솔더의 res경로에 있는 아이콘 파일을 대체시켜 주면 된다. 예를 들어 프로젝트에 사용중인 아이콘 파일 이름이 RoterIconWidget.ico 로 돼있다면, 그냥 쓰고싶은 아이콘 이름을 RoterIconWidget.ico로 바꿔서 저걸로 바꿔주면 된다. 참고로 Dialog에서는 아래와 같은 것을 써주면 Dialog의 아이콘을 바꿀 수 있다. HICON hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1) ); this->SetIcon( hIcon, FALSE ); 그런데.. 이렇게 바꾸고.. 리빌드 올을 하고나서 프로그램을 Ctrl+F5로 실행했는데... 바뀌질 않는다..
- Total
- Today
- Yesterday
- 음악
- database
- 안드로이드
- it
- android
- Visual C++
- C++
- Troubleshooting
- 프로그래밍
- Python
- 리눅스
- gcc
- java
- linux
- algorithm
- driver
- winapi
- source
- jni강좌
- NDK
- MFC
- Quiz
- jni
- AWS
- C
- db
- Cloud
- API
- 드라이버
- kering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |