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로 실행했는데... 바뀌질 않는다..
초급과정을 뗀 프로그래머, 초보티를 벗어나면서.. C++ 초급 책으로 공부를 다 하면, 보통 포인터까지 배운다. 그러면 포인터를 배운 이후에는 뭘 해야하는가? 도대체 뭘 해야하는지 알 수가 없었다. 왜 '중급' 프로그래머 책은 없는게야!(지금은 있는지도 모르겠다. 여튼 나 공부할 시절에는 없었다. 있긴 있었나? 여튼..) 이제 중급으로 가려면 무엇을 해야하나 싶어서 무작정 시작한 것이 Windows API였다. 이제 이것도 다 뗐는데.. 그럼 난 중급자라고 불러도 되는 것인가? 그럼 난 실무에 바로 투입되도 되는것인가? 이렇게 프로그래밍 새내기가 무작정 실무에 투입되면.. 엄청나다.. 그들에게는 프로그램이 돌아가는 것이 중요하지 가독성이지 유지보수 따위니 하는 것은 당연히 신경쓰지 않는다. 심지어 변수명..
소스는 아래와 같음. Windows의 Temp 디렉토리를 가져와서 prefixstring을 붙인 새 tmp파일의 주소값을 리턴한다. CString CClassName::GetTempFilePath(LPCTSTR pszPrefixString) { CString strPath; if(GetTempPath(_MAX_PATH,strPath.GetBuffer(_MAX_PATH+1)) != 0) { strPath.ReleaseBuffer(); CString strTempFile; if(GetTempFileName( strPath, pszPrefixString, 0, strTempFile.GetBuffer(_MAX_PATH+1) ) != 0) { strTempFile.ReleaseBuffer(); return str..
1 부터 50 까지 게임 잘 하는 법좀 알았으면 좋겠다. 네이버에 수 없이 많이 검색했다. 1 to 50 잘 하는 방법, 1to50 팁... 근데 도저히 모르겠다... 사실 잘 하는 법은 하나라고 생각한다.. 많이 하기... 지금 거의 두달째 하고 있는 것 같다. 처음에 평균 35초 정도 나오던게 지금은 평균 20초 정도 나온다. 일단 내가 갖고 있는 방법을 공유 해보겠다... 1. 고수라면 한손으로 하는걸 추천한다. 근데 이는 많아야 1초 정도를 줄일 수 있는 것 같다. 즉 1초를 더 줄여야 하는 상위랭커가 아닌 이상은 걍 편한 방법으로 하자. 참고로 나는 양손 엄지로 하는데 이 경우 각 사이드의 하단이 잘 안보이는 단점이 있다. 2. 다음수를 미리 찾는다. 현재 30을 누르고 있다면 눈은 31근처를 ..
DLL프로젝트가 여러개 있다. 예를 들어 A와 B 이렇게 두개가 있다. 둘다 resource.h가 있고, 각자의 rc파일이 있다. 그런데.. B에서 LoadString으로 String Table에 있는 것을 읽어오려했는데.. 오잉..? A에 있는 스트링 테이블 값을 참조한다. 우째 이런일이? 이를 해결하기 위해선 MFC Extension DLL로 DLL을 만든 경우, LoadString이나 LoadBitmap시에 어느 리소스에서 값을 가져오는지를 알아야 한다. DLL과 그를 호출한 EXE가 있을 경우, 리소스 아이디가 중복 되는 경우에는 LoadXXX 함수는 EXE의 리소스에서 값을 읽어오게 된다. http://support.microsoft.com/kb/600771/ko에 따르면 "이것은 MFC에서 r..
- Total
- Today
- Yesterday
- it
- Quiz
- Troubleshooting
- winapi
- db
- source
- 드라이버
- Python
- gcc
- android
- database
- java
- 프로그래밍
- jni
- jni강좌
- linux
- AWS
- Visual C++
- 음악
- 리눅스
- kering
- NDK
- algorithm
- C
- Cloud
- 안드로이드
- MFC
- C++
- API
- driver
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |