Windows API 弹出文本框输入的内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Windows API 弹出文本框输入的内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4724字,纯文字阅读大概需要7分钟。
内容图文
![Windows API 弹出文本框输入的内容](/upload/InfoBanner/zyjiaocheng/1231/13735e99b73a4463afdaed355b428479.jpg)
1 /* 程序功能:点击button按钮弹出输入框的文本 */ 2 #include<windows.h> 3 4struct 5{ 6int iStyle; 7 TCHAR * szText; 8} 9 button[]= 10{ 11 BS_PUSHBUTTON, TEXT("BS_PUSHBUTTON"), 12 BS_DEFPUSHBUTTON, TEXT("BS_DEFPUSHBUTTON") 13}; 14 15#define NUM (sizeof button /sizeof button[0]) //num=2 16 17 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //申明函数 18 19int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int iCmdShow) 20{ 21static TCHAR szAppName[]= TEXT ("app1"); 22 23 HWND hwnd; 24 MSG msg; 25 WNDCLASS wndclass; 26 27 wndclass.style = CS_HREDRAW | CS_VREDRAW; 28 wndclass.lpfnWndProc = WndProc; 29 wndclass.cbClsExtra = 0; 30 wndclass.cbWndExtra = 0; 31 wndclass.hInstance = hInstance; 32 wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); 33 wndclass.hCursor = LoadCursor(NULL,IDC_ARROW); 34 wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); 35 wndclass.lpszMenuName = NULL; 36 wndclass.lpszClassName= szAppName; 37 38if(!RegisterClass(&wndclass)) 39 { 40 MessageBox(NULL,TEXT("程序要求 Windows NT 系统!"),szAppName,MB_ICONERROR); 41 42return0; 43 } 44 45 hwnd = CreateWindow (szAppName, 46 TEXT ( "WindowsAPI程序-按钮实例 "), 47 WS_OVERLAPPEDWINDOW, 48 CW_USEDEFAULT, 49 CW_USEDEFAULT, 50 CW_USEDEFAULT, 51 CW_USEDEFAULT, 52 NULL, 53 NULL, 54 hInstance, 55 NULL); 56 57 ShowWindow(hwnd,iCmdShow); 58 UpdateWindow(hwnd); 59 60while( GetMessage( &msg,NULL,0,0)) 61 { 62 TranslateMessage(&msg); 63 DispatchMessage(&msg); 64 } 65 66return msg.wParam; 67 68} 69 70//窗口过程函数 71LRESULT CALLBACK WndProc (HWND hwnd,UINT message,WPARAM wParam, LPARAM lParam) 72{ 73 74static HWND hwndButton[NUM]; //按钮句柄集合 75static HWND hwndTxt; 76static HWND hwndBtnSure; 77static HWND hwndBtnSure2; 78static HWND hwndChild; 79static RECT rect; //矩形结构体 80//char数组 81static TCHAR szTop[] =TEXT("功能:点击按钮显示文本框内容"), 82 szUnd[] =TEXT("_______ ______ ______"), 83 szFormat[] =TEXT("%-16s%04X-%04X %04X-%04X"), //关于格式化字符串参考 http://blog.163.com/c__0/blog/static/188312066201162661240584/ 84 szBuffer[50]; 85char constStr[]= { ",欢迎进入C++世界" }; 86char outputStr[256]; 87staticint cxChar,cyChar; 88 HDC hdc; //绘图实例句柄 89 HDC childHdc; 90 PAINTSTRUCT ps; //绘制结构体 91int i,len; 92switch (message) 93 { 94//创建 95case WM_CREATE: 96 97 cxChar=LOWORD(GetDialogBaseUnits()); 98 cyChar=HIWORD(GetDialogBaseUnits()); 99100101//文本框102 hwndTxt = CreateWindow ( 103"edit", 104"", 105 WS_CHILD|WS_VISIBLE|WS_BORDER|BS_TEXT, 106250, 100, 300,22, 107 hwnd, 108 (HMENU)1, 109 ((LPCREATESTRUCT) lParam)->hInstance, 110 NULL 111 ); 112113//按钮114 hwndBtnSure2 = CreateWindow( 115 TEXT("button"), 116"点击我2", 117 WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 118230, 119190, 12020*cxChar, 1217*cyChar/4, 122 hwnd, 123 (HMENU)3, 124 ((LPCREATESTRUCT) lParam)->hInstance, 125 NULL 126 ); 127128129130 hwndBtnSure=CreateWindow( 131 TEXT("Button"), 132"点击我", 133 WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 134230, 135150, 13620*cxChar, 1377*cyChar/4, 138 hwnd, 139 (HMENU)2, 140 ((LPCREATESTRUCT) lParam)->hInstance,NULL); 141142143144145return0; 146147case WM_SIZE: 148 rect.left=24* cxChar; 149 rect.top=2*cyChar; 150 rect.right=LOWORD(lParam); 151 rect.bottom=HIWORD(lParam); 152return0; 153154case WM_PAINT: 155156 InvalidateRect(hwnd,&rect,TRUE); 157158 hdc=BeginPaint(hwnd,&ps); 159160 SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT)); //选取当前字体161 SetBkMode(hdc,TRANSPARENT) ;// 背景设置成透明 162163// SetBkColor(hdc,GetSysColor(COLOR_BTNFACE));164 SetTextColor(hdc,GetSysColor(COLOR_BTNTEXT)); //设置文本颜色165166 TextOut(hdc,24*cxChar,cyChar,szTop,lstrlen(szTop)); 167//TextOut(hdc,24*cxChar,cyChar,szUnd,lstrlen(szUnd));168169170171 EndPaint(hwnd,&ps); 172return0; 173174case WM_DRAWITEM: 175case WM_COMMAND: 176177 hdc=GetDC(hwnd); 178 SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT)); //选取当前字体 179180//获取当前子窗口句柄181 hwndChild=(HWND)lParam; 182if(hwndChild==hwndBtnSure) 183 { 184char szBuff[256]; 185 GetWindowText(hwndTxt,szBuff,sizeof(szBuff)); 186if(strlen(szBuff)==0) 187return0; 188189for(i=0;i<sizeof(outputStr);i++) 190 { 191if(i==0) 192 len=strlen(szBuff); 193 szBuff[len++]=constStr[i]; 194 } 195 MessageBox(NULL, szBuff,TEXT("提示"),0); 196 } 197elseif(hwndChild==hwndBtnSure2) 198 { 199 MessageBox(NULL,TEXT("按钮2点击了"),TEXT("提示"),0); 200 } 201202 ReleaseDC(hwnd,hdc); 203 ValidateRect(hwnd,&rect); 204break; 205206case WM_CTLCOLORBTN: 207/*208 childHdc=(HDC)wParam; 209 SetBkColor(childHdc,GetSysColor(COLOR_BTNFACE)); 210 SetTextColor(childHdc,GetSysColor(COLOR_HIGHLIGHT)); 211 ReleaseDC((HWND)lParam,childHdc); 212*/213break; 214215case WM_DESTROY: 216 PostQuitMessage(0); 217return0; 218 } 219220return DefWindowProc (hwnd,message,wParam,lParam); 221 }
原文:http://www.cnblogs.com/xclword/p/4617370.html
内容总结
以上是互联网集市为您收集整理的Windows API 弹出文本框输入的内容全部内容,希望文章能够帮你解决Windows API 弹出文本框输入的内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。