GUI/Window
-
-
윈도우 - Win32GUI/Window 2009. 3. 8. 16:12
타이틀 바 시스템 메뉴 메뉴 바 // 메인 메뉴 메뉴 항목(Menu Item) 팝업 항목(Popup Item) 팝업 메뉴(Popup menu) 메뉴 항목(Menu Item) 명령 항목(Command Item) 플로팅 팝업 메뉴(Floating Popup Menu) 툴바 상태? MessageBox() DialogBox() WM_SETCURSOR 디폴트 커서 대신 다른 커서를 보일 수 있다. c.f. GetCursorPos(), SetCursor() GetWindowLongPtr() GWL_STYLE 윈도우 프로퍼티 SetProp() RemoveProp() GetProp() 여분 메모리 cbClsExtra cbWndExtra GWL_USERDATA GetWindowLong() SetWindowLong() 차..
-
다이얼로그 박스 - Win32GUI/Window 2009. 1. 29. 00:27
대화상자 리소스 ID Font Caption Minimize Box Maximize Box 서브클래싱 DialogBox() WM_INITDIALOG DialogBoxParam() EndDialog() 메뉴는 리소스에서 설정하거나 WM_INITDIALOG에서 SetMenu() #include #include "resource.h" //HWND hDlgMain; // WM_INITDIALOG 메시지 핸들러 BOOL OnInitDialog(HWND hWnd, HWND hWndFocus, LPARAM lParam) { // { // hDlgMain = hWnd; // } return TRUE; } /* void OnClose(HWND hwnd) { EndDialog(hwnd,IDCANCEL); } */ // W..
-
공통 다이얼로그 박스(대화상자) - Win32GUI/Window 2009. 1. 19. 22:45
SHBrowseForFolder() BROWSEINFO .hwndOwner .lpszTitle .pidlRoot .ulFlags BIF_NEWDIALOGSTYLE BIF_EDITBOX .lpfn on BFFM_INITIALIZED SHGetPathFromIDList() #include #include "shlobj.h" static bool GetFolder(std::string& folderpath, const char* szCaption = NULL, HWND hOwner = NULL) { bool retVal = false; // The BROWSEINFO struct tells the shell // how it should display the dialog. BROWSEINFO bi; memse..
-
-
공통 다이얼로그 박스(대화상자) - MFCGUI/Window 2008. 12. 14. 16:29
CFileDialog -> CCommonDialog bOpenFileDialog TRUE - 파일 열기(Open) 창 FALSE - 파일 다른 이름으로 저장(Save As) 창 lpszDefExt - 사용자가 확장자를 입력하지 않으면, 그 파일명에 붙게 되는 기본 파일 확장자 lpszFileName - 파일명 상자 초기에 나타나는 파일명 dwFlags OFN_FILEMUSTEXIST - 사용자가 입력한 파일의 이름이 존재하는지 테스트하여 그 파일이 존재하지 않으면 거부 OFN_HIDEREADONLY - 대화 상자에 기본적으로 나타나는 읽기 전용 체크 상자를 숨긴다. OFN_OVERWRITEPROMPT OFN_ALLOWMULTISELECT lpszFilter - 사용자가 선택할 수 있는 파일 형식을 지정하..
-
다이얼로그 박스 - MFCGUI/Window 2008. 12. 10. 23:43
대화상자에서 사용자의 모든 키 입력은 대화상자가 먼저 받으며 포커스를 가진 컨트롤이 원할 경우만 컨트롤에게 전달된다. 컨트롤보다 엔터키(Tab, Enter, Esc, 커서 이동키 등)를 먼저 받는다. // ?? CDialog -> CWnd OnInitDialog UpdateData(FALSE) OnOK UpdateData(TRUE) OnCancel OnPaint .Create() .DestroyWindow() .UpdateData() .GotoDlgCtrl() Enter, ESC 키 무시 OnCancel을 오버라이드하면 다이얼로그 창을 닫을 수 없다. BOOL CProcessADlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code..