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

드라이브 종류와 용량 정보를 나타내는 프로그램을 만들어 보기로 하자. 아래는 현재 내 컴퓨터에 있는 드라이브 및 디스크 용량 정보이다. 우선 드라이버 및 디스크 정보를 가지고 오고 싶으면 API함수 GetLogicalDriveStrings함수를 이용해서 버퍼 시스템에서 유효한 드라이브를 지정하는 문자열로 채우는 함수이다. 함수의 원형은 아래와 같다. DWORD GetLogicalDriveStringsW( [in] DWORD nBufferLength, [out] LPWSTR lpBuffer ); [in] nBufferLength lpBuffer가 가리키는 버퍼의 최대 크기이다. 이 매개 변수가 0이면 lpBuffer 가 사용되지 않는다. [out] lpBuffer 시스템의 유효한 각 드라이브와 추가 nul..

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

아래 코드와 같이 CImage 객체에 그림을 그려서 Save 함수를 사용하면 png 형식으로 이미지가 저장된다. m_draw_image.Save(L"1.png", Gdiplus::ImageFormatPNG); //이미지 객체에 그려진 png 파일을 저장한다. 나는 아래와 같은 이미지에 사각형을 넣었다. 현재 검은색 바탕은 가상 dc에 색상을 지정하지 않아서 검은색으로 보이는 것이다. 이렇게 되면 어떠한 이미지에 아래 사진을 올려놓으면 검은색 바탕 때문에 뒤의 이미지를 가릴 것이다. 이제 이 검은색을 투명화시켜서 사각형만 출력하고 배경은 없애겠다. 아래 코드는 CImage에 투명화 속성을 활성화시키는 코드이다. 이제 비트 단위로 색상을 분석하여 검은색이면 Alpha 값에 0xFF를 대입하면 배경이 투명화된..

이 프로그램은 Visual Studio 2022에서 제공하는 Visual C++에서 MFC를 사용하여 만들었습니다. 스탬프 만들기 프로그램은 도장 이미지를 스캔을 안 하고 바로 원하는 직인의 투명한 png 파일을 만들어서 문서 파일에 도장을 표시할 때 사용하는 프로그램입니다. 이 프로그램은 기본적으로 글꼴을 변경할 수 있지만, 기본적으로 사용하는 폰트는 배달의민족 주아체를 사용하고 있습니다. -기능 1. 도장에 표시된 이미지를 클릭하면 방향키 버튼 안에 있는 콤보박스가 바뀝니다. 2. 도장의 이미지나 콤보박스를 누르고 방향키 클릭을 하면 각 글자의 위치가 바뀝니다. 3. 글자 너비와 이름을 변경하고 적용 버튼을 누르면 자신이 원하는 이름과 너비로 변경할 수 있습니다. 4. 이미지 저장을 누르면 아..

보통 컴퓨터를 사용하다 보면 어떠한 아이콘에 마우스 포인터를 길게 갖다 놓을 때가 있다. 이 경우 컴퓨터에서는 툴팁이라는 기능을 제공한다. 예를 들어 내 PC 아이콘에 마우스 포인터를 길게 갖다 놨으면, 툴팁은 아래와 같다. 이제 예제를 만들어 보겠다. Dialog에서 아래와 같이 버튼을 만들었다. 첫 번째로 헤더에서 아래와 같이 선언을 해준다. CToolTipCtrl m_ctrl_tip_ctrl[4]; //툴팁 사용을 위해 .h에 CToolTipCtrl객체 생성 두 번째로 OnInitDialog()에서 툴팁이 출력될 컨트롤의 ID목록과 문구를 배열을 만든다. // 툴팁이 출력될 컨트롤의 ID 목록 int ctrl_id[MAX_CTRL_TIP_COUNT] = { IDC_TEST1_BTN, IDC_TEST..

1. 함수의 원형 LPARAM MAKELPARAM(WORD wLow, WORD wHigh); 2. 함수의 기능 이 매크로 함수는 16비트 크기의 변수인 wLow 와 wHigh의 값을 32비트 크기로 합쳐서 반환하는 함수이다. wLow는 32비트중에서 하위 16비트에 저장되고 wHigh는 상위 16비트에 저장된다. 윈도우즈 메시지에 포함되어 전달되는 두개의 인자중 하나인 lParam 을 구성할때 사용한다. 3. 함수의 반환값 wLow와 wHigh 값을 32비트 데이터로 합쳐서 반환한다. wLow값이 0x2345 이고 wHigh값이 0x6789라면 0x67892345 라는 값이 반환된다. 4. 사용 예제 마우스 좌표를 얻어서 다른 윈도우로 그 좌표를 전달해야하는데 메시지를 이용한다고 가정하자. 하지만, w..

WM_COMMAND 메시지 1. 대화상자나 윈도우에 만들어진 버튼 같은 컨트롤을 누르거나 리소스에 등록된 단축키를 사용하거나 메뉴에서 항목을 선택하면 WM_COMMAND 메시지가 발생한다. 2. WM_COMMAND 메시지는 다양한 상황에서 발생하기 때문에 메시지와 함께 전달되는 wParam과 lParam에 저장된 정보로 구분한다. 3. lParam이란? - 컨트롤의 핸들 값이다. - 버튼과 같은 컨트롤을 눌러서 WM_COMMAND 메시지가 발생했으면 lParam 변수에는 이 메시지를 발생한 컨트롤의 HWND 값이 저장되어 있다. 그러나 단축키와 같은 컨트롤이 아닌 경우에는 lParam에 NULL이 저장되어 있다. 4. wParam이란? - 상위 16비트에는 대부분 통보 코드(Notification cod..