일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MFC
- C++
- 충무창업큐브
- mfc 실습
- MFC 예제
- MyThread
- MyTread
- 도움말
- Tipsware
- linux
- SSG
- 실습
- mysql
- Time
- C
- 마이크로소프트
- C언어
- 유료강좌
- do it c
- 미가공
- visual
- 정보처리기사
- 정처기 독학
- 핵심 요약
- 김성엽
- tips강좌
- win32
- 별찍기
- 포트폴리오
- ListBox
- Today
- Total
목록실습 (9)
History

이번 실습은 난수를 발생시켜 아래와 같은 막대그래프를 그리는 실습을 진행했다. 이번 실습은 MemoryDC를 사용하여 그래프의 깜빡임을 잡았고, 구조를 단순화하기 위해 윈도우는 따로 만들지 않았다. 자연스럽게 막대 그래프들이 움직이는 모습은 Timer함수를 이용해서 구현했다.

https://hard-go-head.tistory.com/127 [MFC] 윈도우 마우스로 움직이기 step_1 이번 실습은 마우스로 모니터의 좌표를 알아내서 현재 실행한 윈도우의 좌표를 원하는 위치로 옮길 수 있는 실습을 진행한다. 사용한 메시지는 OnMouseMove OnLButtonDown OnLButtonUp 이 세 개를 가지고 hard-go-head.tistory.com https://hard-go-head.tistory.com/130 [MFC] 윈도우 마우스로 움직이기 step_2 저번 차시에 이어서 이번에도 윈도우 움직이는 실습을 진행하겠다. 이번 차시에는 윈도우를 원형으로 변경한 후 투명화를 주어서 자신만의 사용자 환경을 만드는 방법에 대해 실습을 진행했다. hard-go-head.tis..
문제 설명 길이 n이 입력되면 다음과 같은 사각형을 출력한다. 예) n이 5일때 ***** * * * * * * ***** 입력 조건 길이 n이 입력된다. (n >= 3) 코드업 별 찍기 문제이다. 이번엔 사각형 출력이지만 테두리만 별이 찍히게 해야 한다. 어떻게 해야 할까? 코드는 아래에 있다. 방법. 1 #include int main() { int i, j, n; scanf( "%d", &n ); for( i = 0 ; i < n ; i++ ) { for( j = 0 ; j < n ; j++ ) if ( i == 0 || i == n - 1 || j == 0 || j == n - 1 ) printf( "*" ); else printf( " " ); printf("\n"); } return 0; } ..
질문 strcat함수 그냥 쓰는 거보다 한번 만들어 보는 게 좋다고 해서 함수 안에서 출력하는 부분 for문안으로 출력하면 abcdefgh가 나오는데 그냥 printf로 바로 출력하면 abcd만 나옵니다. 이유가 뭘까요?? 어디가잘못된건지.. 잘 모르겠습니다. void GetString(char data[],int size,char data2[],int size2) { char data3[10]{ 0 }; for (int i = 0; i 0, 1, 2, 3 여기까진 잘 들어가는데 i가..
두 문자열을 이어 붙이는 strcat함수를 직접 구현해보는 코드를 작성해보자 코드는 아래와 같다. #include char* ApeendString(char a_dest[], const char a_src[]) { int index = 0; while (a_dest[index]){ //저장할 문자열을 널값까지 넘긴다. index++; } int i; for (i = 0; i < a_src[i]; i++){ a_dest[index + i] = a_src[i]; //널값부터 새로 이어붙힐 문자열을 대입한다. } a_dest[index + i] = 0; //끝에 널값을 넣는다. return a_dest; //완성된 문자열의 시작 주소를 반환한다. } int main() { char str[10] = "abc"..

이번엔 별 찍기를 실습해 보겠다. 중첩 반복문을 사용해보도록 하자. 개인적으로 정답을 보기 전에 혼자서 실습을 진행해보다가 도저히 모르겠으면 아래 정답을 확인하도록 하자. 또한 자신이 작성한 코드와 필자가 작성한 코드가 다르더라도 오답이 아니니 정답이 다르면 자신만의 방법을 찾았다고 생각하자. 정답은 아래와 같다. int main() { for (int i = 0; i < 5; i++){ //5줄 for (int j = 0; j

이번 실습은 step2 내용을 클래스화 하는 과정을 진행했다. 클래스의 이름은 TW_ListBox로 추가했고, 기존 dlg헤더 파일에 새로 추가한 클래스를 상속받아서 코드를 작성했다. 이 코드는 MFC기반이 아닌 Win32기반 HDC형태로 작업했다. 클래스화를 진행하면 나중에 코드를 정리하여 재사용 가능한 클래스로 사용할 수 있기 때문에 차후 실무에서 많이 쓰일 기술로 보인다. 외형은 기존과 동일하다. 아직 혼자서 클래스 구분을 하기에는 실력이 부족하여 실습을 많이 해야할 것 같다. 다음에는 step_4 실습을 하겠다.

이번 실습은 저번에 하던 메뉴판을 가지고 실습을 진행하였습니다. 저번과 달라진 점이 있다면 저번 실습에서는 제가 사용하기 편하게 전역 변수로 구조체를 빼서 편하게 구조체 안에 있는 자료를 접근할 수 있었습니다. 그러나 이번 실습에서는 구조체를 지역변수로 빼놓고 다른 구조체를 만들어서 그 구조체를 동적 할당하여 필요한 만큼 데이터를 집어 놓도록 하였고, 또한 Owner-Draw 코드에서는 CDC가 아닌 HDC형식의 WIN32을 기반으로 동작하는 실습을 진행했습니다. (CDC는 임시 객체이기 때문에 잠재적인 위험이 있을 뿐 아니라 수행능력이 떨어지기에 API함수로 구현하는 것을 실습하는 것입니다.) 컴파일 실행 화면은 전의 화면과 색깔만 다르고 큰 틀은 똑같이 나옵니다ㅎ 이상입니다 Step-3버전으로 돌아오..