GUI
-
MDI - Win32GUI/컨트롤 2009. 6. 30. 02:14
복수 개의 문서 타입(차일드)을 지원하려면 메뉴도 그 수만큼 있어야 한다. DefMDIChildProc() WM_MDIACTIVATE MDICLIENT WS_CLIPCHILDREN WM_MDISETMENU WM_MDICREATE MDICREATESTRUCT WM_MDITILE MDITILE_HORIZONTAL WM_MDICASCADE WM_MDIICONARRANGE CreateMDIWindow() CreateWindowEx() WS_EX_MDICHILD DefFrameProc() TranslateMDISysAccel() IDR_MENU1 MENU DISCARDABLE BEGIN POPUP "File" BEGIN MENUITEM "New Draw", ID_FILE_NEWDRAW MENUITEM "New E..
-
키보드/마우스 버튼 - Win32GUI/컨트롤 2009. 6. 30. 02:04
액셀러레이터 LoadAccelerators() TranslateAccelerator() IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE BEGIN "A", ID_FILE_MENU1, VIRTKEY, CONTROL, NOINVERT ... END int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { ... hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, NULL,(HMENU)NULL,hInstanc..
-
이미지 리스트 - Win32GUI/GDI 2009. 6. 29. 02:07
HIMAGELIST ImageList_LoadBitmap() ImageList_LoadImage() IMAGE_BITMAP LR_LOADFROMFILE ImageList_Destroy() ImageList_Draw() ILD_NORMAL #include #pragma comment(lib, "comctl32") LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(g_hInst, IDS_HELLO, szHello, MAX_LOADSTRING); // { stat..
-
탭 - Win32GUI/컨트롤 2009. 6. 28. 18:58
WC_TABCONTROL TabCtrl_InsertItem() TCIF_TEXT TabCtrl_GetCurSel() WM_NOTIFY TCN_SELCHANGE #include #pragma comment(lib, "comctl32") int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance..
-
MDI - VBGUI/컨트롤 2009. 6. 28. 17:50
Public Cnt As Integer Begin VB.Form Form1 Caption = "Form1" ... MDIChild = -1 'True ... End ... Private Sub Form_Load() Cnt = Cnt + 1 Me.Caption = "새문서" & Cnt End Sub Begin VB.MDIForm MDIForm1 BackColor = &H8000000C& ... Begin VB.Menu mnuFile Caption = "파일(&F)" Begin VB.Menu mnuNewFile Caption = "새로 만들기(&N)" End Begin VB.Menu mnuLine Caption = "-" End Begin VB.Menu mnuExit Caption = "종료(&X)" End..
-
다이얼로그 레이아웃 매니저 - MFCGUI/컨트롤 2009. 6. 26. 20:46
CPane HORIZONTAL VERTICAL .addItem() GREEDY ABSOLUTE_VERT .addPane() ABSOLUTE_VERT CFormViewMgr DECLARE_LAYOUT() .UpdateLayout() #include "DialogMgr.h" class CLayoutManagerView : public CFormViewMgr { protected: // create from serialization only CLayoutManagerView(); DECLARE_DYNCREATE(CLayoutManagerView) // { DECLARE_LAYOUT(); // } public: //{{AFX_DATA(CLayoutManagerView) enum{ IDD = IDD_LAYOUTM..
-
프로퍼티 시트GUI/컨트롤 2009. 6. 26. 19:02
CPropertySheet -> CWnd ID_WIZFINISH .AddPage() .SetWizardMode() .DoModal() .SetWizardButtons() PSWIZB_BACK PSWIZB_NEXT PSWIZB_FINISH CPropertyPage -> CDialog OnSetActive OnWizardFinish .GetParent() // CPropertySheet class CPage1 : public CPropertyPage { DECLARE_DYNCREATE(CPage1) // Construction public: CPage1(); ~CPage1(); // Dialog Data //{{AFX_DATA(CPage1) enum { IDD = IDD_PAGE1 }; .. //}}AFX_..
-
스택 다이얼로그 - MFCGUI/컨트롤 2009. 6. 26. 01:43
property sheet 1. 스택 페이지로 쓰일 다이얼로그 윈도우 리소스들을 만든다. - Child, No border, Not visible, Disabled 2. 해당 클래스를 생성해서 TStackedPage에서 상속한다. 3. 메인 다이얼로그 윈도우 리소스를 만든다. 플레이스 홀더로 사용될 픽쳐 컨트롤 - invisible, disable TStackedDialog의 생성자에서 리소스 ID가 사용된다. 4. 해당 클래스를 생성해서 TStackedDialog에서 상속한다. CreatePage, OnPageChanged 가상 함수를 생성한다. AddPage(), SetPage()에서 호출된다. 5. OnInitDialog등에서 AddPage(), SetPage()를 호출한다. TStackedPage..