본문 바로가기

프로그램언어

파일 입출력1 파일만들기 CreateFile() 함수 : 파일 생성 함수 HANDLE CreateFile( LPCTSTR lpFileName, // 생성하고자 하는 파일명 DWORD dwDesiredAccess, // 읽기, 쓰기, 읽기/쓰기 세 가지 모드 중 하나 지정 DWORD dwShareMode, // 파일의 공유 모드 지정 LPSECURITY_ATTRIBUTES lpSecurityAttributes, // 파일의 보안 속성에 대한 포인터 DWORD dwCreationDisposition, // 파일을 생성할 것인지 열 것인지 지정. DWORD dwFlagsAndAttributes, // 생성할 파일의 속성 HANDLE hTemplateFile // 새로 만들 파일의 속성을 제공할 템플릿 파일 ); LPCTST.. 더보기
컨트롤 윈도우 사용하기 CreateWindow()함수 HWND CreateWindow( LPCTSTR lpClassName, // 클래스 이름 LPCTSTR lpWindowName, // 윈도우 제목 텍스트 DWORD dwStyle, // 생성할 윈도우의 스타일 int x, // 원도우 왼쪽 위 모서리의 x좌표 int y, // 원도우 위쪽 위 모서리의 y좌표 int nWidth, // 윈도우 가로 길이 int nHeight, // 윈도우 세로 길이 HWND hWndParent, // 부모 윈도우 핸들 HMENU hMenu, // 윈도우 메뉴(컨트롤 ID) HINSTANCE hInstance, // 윈도우를 생성할 인스턴스 핸들 LPVOID lpParam // WM_CREATE 메시지에 넘길 전달 인자 ); 버튼 컨트롤 윈도우.. 더보기
MID 프로그래밍 MID 프로그래밍 CLIENTCREATESTRUCT 구조체 typedef struct { HANDLE hWindowMenu; // 응용 프로그램의 메인 메뉴 중 선택한 부메뉴에 대한 핸들 값 UINT idFirstChild; // 생성할 자식 윈도우의 ID로 사용할 정수값, // 두 번째 자식 윈도우부터는 1씩 증가시킨 정수를 ID로 사용 } CLIENTCREATESTRUCT; MDICREATESTRUCT 구조체 typedef struct tagMDICREATESTRUCT { LPCTSTR szClass; // MDI 작식 창의 클래스 이름 LPCTSTR szTitle; // MDI 자식 창의 제목 HANDLE hOwner; // MDI 클라이언트 창을 만드는 응용 프로그램의 인스턴스에 대한 핸들 int.. 더보기
대화상자4 리스트 컨트롤에 데이터 추가하기 #include #include #include #include "resource.h" ... void MakeColumn(HWND hDlg); void InsertData(HWND hDlg); ... BOOL CALLBACK DlgProc(HWND hDlg, UINT iMsg, WPARAM wParam, LPARAM lParam) { switch (iMsg) { case WM_INITDIALOG: MakeColumn(hDlg); return 1; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_BUTTON_INSERT: InsertData(hDlg); return 0; case IDOK: EndDialog(hDlg, 0); b.. 더보기
대화상자3 모달리스 대화상자 모달리스는 대화상자는 부모 윈도우를 선택할 수 있으며, 그 대표적인 예로는 찾기대화상자 이다. CreateDialog() 함수 : 모달리스 대화상자 생성 HWND CreateDialog( HINSTANCE hInstance, // 대화상자 인스턴스 핸들 LPCTSTR lpTemplate, // 대화상자 ID HWND hWndParent, // 이 대화상자를 소유하는 오너 윈도우의 핸들이다 DLGPROC lpDialogFunc // 대화상자로 전달되는 메시지를 처리하는 메시지 처리 함수의 포인터를 지정 ); BOOL ShowWindow() 함수 : 모달리스 대화상자를 보이거나 숨기기 BOOL ShowWindow( HWND hWnd, // 대상 윈도우 핸들 int nCmdShow // 지정.. 더보기
대화상자만들기2 에디트 박스와 이벤트 통지 메시지 통지 메시지 통지 메시지 설명 EN_CHANGE 에디터 컨트롤의 내용이 변경 되었을 때 EN_HSCROLL 에디터 컨트롤에서 수평 스크롤 바를 클랙했을 때 EN_VSCROLL 에디터 컨트롤에서 수직 스크롤 바를 클릭했을 때 EN_ERRSPACE 메모리가 부족할 때 EN_UPDATE 에디터 컨트롤에서 문자열이 변경 되기 직전에 EN_MAXTEXT 지정한 문자열의 길이를 초과하였을 때 EN_SETFOCUS 에디터 컨트롤이 포커스를 받을 때 에디트 컨트롤에서 텍스트 얻어오기 HWND GetDlgItemText ( HWND hDlg, // 컨트롤을 가진 대화상자의 핸들 int nIDDlgItem, // 컨트롤 ID LPTSTR lpString, // 텍스트를 저장할 버퍼 주소 .. 더보기
대화상자만들기 대화상자 만들기 아래 그림과 같이 리소스메뉴을 클릭 리소스에서 Dialog를 선태갛고 새로만들기 버튼 클릭 Dialog가 생성된다. 대화상자 보이기 int DialogBox( HINSTANCE hInstance, // 애플리케이션 인스턴스 LPCTSTR lpTemplate, // 대화상자 ID HWND hwnd, // 부모 윈도우 핸들 DLGPROC lpDialogFunc // 대화상자의 프로시저 함수 ); 대화상자 종료하기 BOOL EndDialog(HWND hDlg, int nResult); // nResult는 0값을 넣는다. #include #include #include "resource.h" LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wPa.. 더보기
ROP모드로 이미지 마스크 설정 ROP모드 dwRop는 현재 화면에 출력되는 이미지와 출력하고자 하는 이미지를 조합하는 연산을 말한다. 매크로 상수 설명 NOTSRCERASE 화면색과 비트맵 색을 or 연산후 반전 NOTSRCCOPY 비트맵을 반전 PATCOPY 현재 선택된 브러시로 칠함 PATNVERT 브러시와 화면색을 XOR 연산 SRCAND 비트맵과 화면색을 AND 연산 SRCCOPY 비트맵을 그대로 화면으로 출력 SRCPAINT 비트맵과 화면을 OR연산 WHITENESS 무조건 흰색으로 칠함 BLACKNESS 무조건 검정색으로 칠함 DSTINVERT 회면색을 반전 MERGECOPY 브러시와 비트맵의 색을 AND 연산 타이머를 이용하여 0.1초마다 함수를 호출하여 움직이는 이미지를 만들어 보자. #include #include #.. 더보기