win32编程入门-子窗口控件


按钮类:

首先定义窗口数据类型:

static HWND hwndbutton;

在winpro中:

case WM_CREATE:
	hwndbutton=CreateWindow(TEXT("button"),  //类名称
        TEXT("BUTTON"),                          //窗口文本
        BS_PUSHBUTTON|WS_CHILD|WS_VISIBLE,       //窗口样式
        100,                                     //x坐标
        100,                                     //y坐标
        100,                                     //宽度
        100,                                     //高度
        hWnd,                                    //父窗口
        (HMENU)1,                                //子窗口ID号,要强制转换
        ((LPCREATESTRUCT)lParam)->hInstance,     //案例句柄
        NULL);                                   //额外参数
	break;
若要消息处理如下:

case WM_COMMAND:
	wmId    = LOWORD(wParam); 
	wmEvent = HIWORD(wParam); 
	switch (wmId)
	{
		case IDM_ABOUT:
		  DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
	          break;
	        case IDM_EXIT:
		  DestroyWindow(hWnd);
		  break;
		case 1:  //这个1就是刚才定义按钮的ID号
	          aa++;  //下面是处理过程
		  InvalidateRect(hWnd,NULL,TRUE);
		  EnableWindow(hwndbutton,FALSE);   //这个函数可以将按钮设置为不可用
		  break;
		default:
	          return DefWindowProc(hWnd, message, wParam, lParam);
	}
	break;

编辑器

hwndedit1=CreateWindow(TEXT("edit"),   //编辑器定义
                       NULL,
                       WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|WS_BORDER|ES_LEFT|ES_MULTILINE|ES_AUTOHSCROLL|ES_AUTOVSCROLL,
                       100,100,
                       100,100,
                       hWnd,
                      (HMENU)2,
                      ((LPCREATESTRUCT)lParam)->hInstance,NULL);
设置编辑器与读取编辑器的两个函数(里面的数据类型都是TCHAR)

GetWindowText(hwndedit1,buff,40);  //buff为TCHAR数组,40为最大容量
SetWindowText(hwndedit2,buff);



你可能感兴趣的:(win32编程入门-子窗口控件)