win32 创建控件
来源:互联网 发布:淘宝屏蔽黑名单在哪 编辑:程序博客网 时间:2024/05/20 03:39
// w32.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include "w32.h"#include "Windowsx.h"#include <string.h>#define MAX_LOADSTRING 100#define IDB_ONE 3301#define IDB_SEX 3302#define IDB_SEX2 3303#define IDB_LOVE 4302#define IDB_LOVE2 4303// 全局变量:HINSTANCE hInst;// 当前实例TCHAR szTitle[MAX_LOADSTRING];// 标题栏文本TCHAR szWindowClass[MAX_LOADSTRING];// 主窗口类名// 此代码模块中包含的函数的前向声明:ATOMMyRegisterClass(HINSTANCE hInstance);BOOLInitInstance(HINSTANCE, int);LRESULT CALLBACKWndProc(HWND, UINT, WPARAM, LPARAM);INT_PTR CALLBACKAbout(HWND, UINT, WPARAM, LPARAM);HWND HwndTxt;HWND HwndTxt2;HWND HwndTxt3;HWND HwndTxt4;HWND HwndTxt5;HWND HwndTxt6;int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine); // TODO: 在此放置代码。MSG msg;HACCEL hAccelTable;// 初始化全局字符串LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);LoadString(hInstance, IDC_W32, szWindowClass, MAX_LOADSTRING);MyRegisterClass(hInstance);// 执行应用程序初始化:if (!InitInstance (hInstance, nCmdShow)){return FALSE;}hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_W32));// 主消息循环:while (GetMessage(&msg, NULL, 0, 0)){if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)){TranslateMessage(&msg);DispatchMessage(&msg);}}return (int) msg.wParam;}//// 函数: MyRegisterClass()//// 目的: 注册窗口类。//// 注释://// 仅当希望// 此代码与添加到 Windows 95 中的“RegisterClassEx”// 函数之前的 Win32 系统兼容时,才需要此函数及其用法。调用此函数十分重要,// 这样应用程序就可以获得关联的// “格式正确的”小图标。//ATOM MyRegisterClass(HINSTANCE hInstance){WNDCLASSEX wcex;wcex.cbSize = sizeof(WNDCLASSEX);wcex.style= CS_HREDRAW | CS_VREDRAW;wcex.lpfnWndProc= WndProc;wcex.cbClsExtra= 0;wcex.cbWndExtra= 0;wcex.hInstance= hInstance;wcex.hIcon= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_W32));wcex.hCursor= LoadCursor(NULL, IDC_ARROW);wcex.hbrBackground= (HBRUSH)(CTLCOLOR_DLG);wcex.lpszMenuName= MAKEINTRESOURCE(IDC_W32);wcex.lpszClassName= szWindowClass;wcex.hIconSm= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));return RegisterClassEx(&wcex);}//// 函数: InitInstance(HINSTANCE, int)//// 目的: 保存实例句柄并创建主窗口//// 注释://// 在此函数中,我们在全局变量中保存实例句柄并// 创建和显示主程序窗口。//BOOL InitInstance(HINSTANCE hInstance, int nCmdShow){ HWND hWnd; hInst = hInstance; // 将实例句柄存储在全局变量中 hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE;}//// 函数: WndProc(HWND, UINT, WPARAM, LPARAM)//// 目的: 处理主窗口的消息。//// WM_COMMAND- 处理应用程序菜单// WM_PAINT- 绘制主窗口// WM_DESTROY- 发送退出消息并返回////LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){int wmId, wmEvent;PAINTSTRUCT ps;HDC hdc;switch (message){case WM_COMMAND:wmId = LOWORD(wParam);//控件idwmEvent = HIWORD(wParam);// 分析菜单选择:switch (wmId){case IDM_ABOUT:DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);break;case IDM_EXIT:DestroyWindow(hWnd);break;case IDB_ONE:////LPTSTR p =(LPTSTR)szBuff;{char szLine1[100];memset(szLine1,0X00,sizeof(szLine1));GetWindowText(HwndTxt,(LPTSTR)szLine1,sizeof(szLine1));//MessageBox(0,(LPTSTR)szLine1,NULL,MB_OK); int b=SendMessage(HwndTxt6,CB_GETCURSEL,0,0);int c=ComboBox_GetCurSel(HwndTxt6);//char str[10];//memset(str,0x00,10);//sprintf(str,"%d",c);//MessageBox(0,(LPTSTR)str,NULL,MB_OK); char lpwText[100];//char *lpwText =(char*) malloc(sizeof(char)*100);int qq = sizeof(lpwText);memset(lpwText,0x00,sizeof(lpwText));bool bb = ComboBox_GetText( HwndTxt6, (LPTSTR)lpwText,sizeof(lpwText));if(bb)MessageBox(0,(LPTSTR)lpwText,NULL,MB_OK); }break;case IDB_SEX:{/* if( IsDlgButtonChecked(hWnd, IDB_SEX) == BST_CHECKED) {CheckDlgButton(hWnd,IDB_SEX,BST_UNCHECKED);CheckDlgButton(hWnd,IDB_SEX2,BST_CHECKED); }else { if( IsDlgButtonChecked(hWnd, IDB_SEX) == BST_UNCHECKED) {CheckDlgButton(hWnd,IDB_SEX,BST_CHECKED);CheckDlgButton(hWnd,IDB_SEX2,BST_UNCHECKED); } }*/ if( IsDlgButtonChecked(hWnd, IDB_SEX) == BST_CHECKED){CheckRadioButton(hWnd,IDB_SEX,IDB_SEX2,IDB_SEX2);}else{CheckRadioButton(hWnd,IDB_SEX,IDB_SEX2,IDB_SEX);}}break;case IDB_SEX2:{ /*if( IsDlgButtonChecked(hWnd, IDB_SEX2) == BST_CHECKED) {CheckDlgButton(hWnd,IDB_SEX2,BST_UNCHECKED);CheckDlgButton(hWnd,IDB_SEX, BST_CHECKED); }else { if( IsDlgButtonChecked(hWnd, IDB_SEX2) == BST_UNCHECKED) {CheckDlgButton(hWnd,IDB_SEX2,BST_CHECKED);CheckDlgButton(hWnd,IDB_SEX, BST_UNCHECKED); } }*/ if( IsDlgButtonChecked(hWnd, IDB_SEX2) == BST_CHECKED) { CheckRadioButton(hWnd,IDB_SEX,IDB_SEX2,IDB_SEX); }else { CheckRadioButton(hWnd,IDB_SEX,IDB_SEX2,IDB_SEX2); }}break;case IDB_LOVE:{if (IsDlgButtonChecked(hWnd,IDB_LOVE)==BST_CHECKED){CheckDlgButton(hWnd,IDB_LOVE,BST_UNCHECKED);}else{CheckDlgButton(hWnd,IDB_LOVE,BST_CHECKED);}}break;case IDB_LOVE2:{if (IsDlgButtonChecked(hWnd,IDB_LOVE2)==BST_CHECKED){CheckDlgButton(hWnd,IDB_LOVE2,BST_UNCHECKED);}else{CheckDlgButton(hWnd,IDB_LOVE2,BST_CHECKED);}}break;default:return DefWindowProc(hWnd, message, wParam, lParam);}break;case WM_PAINT:hdc = BeginPaint(hWnd, &ps);// TODO: 在此添加任意绘图代码...EndPaint(hWnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);break;case WM_CREATE:CreateWindow(L"Button", L"按钮一", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON, 35, 250, 120, 60, hWnd, (HMENU)IDB_ONE, hInst, NULL); HwndTxt =CreateWindow( L"Edit", L"", WS_CHILD|WS_VISIBLE|WS_BORDER|BS_TEXT, 70, 10, 100,22, hWnd, (HMENU) 5, hInst, NULL ); CreateWindow( L"static", L"姓名:", WS_CHILD|WS_VISIBLE|SS_LEFT, 3, 10, 50,22, hWnd, (HMENU) 6, hInst, NULL ); CreateWindow( L"static", L"性别:", WS_CHILD|WS_VISIBLE|SS_LEFT, 3, 40, 50,22, hWnd, (HMENU) 6, hInst, NULL ); CreateWindow( L"static", L"爱好:", WS_CHILD|WS_VISIBLE|SS_LEFT, 3, 80, 50,22, hWnd, (HMENU) 6, hInst, NULL ); HwndTxt2 =CreateWindow(L"Button", L"男", WS_VISIBLE | WS_CHILD | BS_RADIOBUTTON, 70, 40, 60, 22, hWnd, (HMENU)IDB_SEX, hInst, NULL); HwndTxt3 =CreateWindow(L"Button", L"女", WS_VISIBLE | WS_CHILD | BS_RADIOBUTTON, 140, 40, 60, 22, hWnd, (HMENU)IDB_SEX2, hInst, NULL); HwndTxt4 = CreateWindow(L"Button", L"读书", WS_VISIBLE | WS_CHILD | BS_CHECKBOX, 160, 80, 60, 22, hWnd, (HMENU)IDB_LOVE2, hInst, NULL); HwndTxt5 =CreateWindow(L"Button", L"看电影", WS_VISIBLE | WS_CHILD | BS_CHECKBOX, 70, 80, 80, 22, hWnd, (HMENU)IDB_LOVE, hInst, NULL); HwndTxt6= CreateWindow(TEXT("ComboBox"), NULL, WS_CHILDWINDOW | WS_VISIBLE | LBS_STANDARD, 640, 210, 150, 80, hWnd, (HMENU)95824,//(HMENU)(y << 8 | x), hInst, NULL); SendMessage(HwndTxt6, CB_ADDSTRING, 0, (LPARAM)(_T("AAA - 1"))); SendMessage(HwndTxt6, CB_ADDSTRING, 0, (LPARAM)(_T("BBB - 1"))); //SendMessage(HwndTxt6, CB_SETCURSEL, (WPARAM)1, (LPARAM)0); ComboBox_AddString(HwndTxt6,L"cccccccccc"); ComboBox_SetCurSel(HwndTxt6, 1);break;default:return DefWindowProc(hWnd, message, wParam, lParam);}return 0;}// “关于”框的消息处理程序。INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){UNREFERENCED_PARAMETER(lParam);switch (message){case WM_INITDIALOG:return (INT_PTR)TRUE;case WM_COMMAND:if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL){EndDialog(hDlg, LOWORD(wParam));return (INT_PTR)TRUE;}break;}return (INT_PTR)FALSE;}
0 0
- win32 创建控件
- win32 控件按钮创建
- 简单win32程序创建控件
- win32中创建webbrowser控件
- delphi vcl win32控件的创建说明
- Win32 SDK程序创建一些控件
- Win32 SDK创建RichEdit Control控件
- win32创建控件和提示文本
- win32创建控件的一些问题
- win32创建控件的一些问题
- Win32 SDK创建RichEdit Control控件
- Win32 创建控件风格不是Win XP解决方案
- win32 api CreateWindow创建窗口控件及设置字体
- Win32 创建控件风格不是Win XP解决方案
- WIN32控件使用大全
- Win32控件的使用
- win32控件消息处理
- win32控件消息处理
- 云计算里AWS和Azure的探究(6) - Amazon Simple Storage Service 和 Microsoft Azure Blob Storage
- Android Toast 五中特效
- 关于JS加载顺序
- Java虚拟机OutOfMemoryError 异常详解及解决方法(3)
- struts2中Ajax的操作实现及其核心对象XMLHttpRequest对象的使用
- win32 创建控件
- 微信平台开发API指南地址
- Caffe运行googlenet模型 matlab接口错误
- GNU Autotools的使用方法
- jQuery UI draggable+droppable+resizable+selectable+sortable
- 杭电ACM 2003: 求绝对值
- leetcode 18 4Sum
- C/C++产生随机数
- 程序堆栈