1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > html弹出文本输入框 Windows API 弹出文本框输入的内容

html弹出文本输入框 Windows API 弹出文本框输入的内容

时间:2023-09-21 19:24:01

相关推荐

html弹出文本输入框 Windows API 弹出文本框输入的内容

1 /*程序功能:点击button按钮弹出输入框的文本*/

2 #include

3

4 struct

5 {6 intiStyle;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

19 int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,intiCmdShow)20 {21 static 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

38 if(!RegisterClass(&wndclass))39 {40 MessageBox(NULL,TEXT("程序要求 Windows NT 系统!"),szAppName,MB_ICONERROR);41

42 return 0;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

60 while( GetMessage( &msg,NULL,0,0))61 {62 TranslateMessage(&msg);63 DispatchMessage(&msg);64 }65

66 returnmsg.wParam;67

68 }69

70 //窗口过程函数

71 LRESULT CALLBACK WndProc (HWND hwnd,UINT message,WPARAM wParam, LPARAM lParam)72 {73

74 static HWND hwndButton[NUM]; //按钮句柄集合

75 staticHWND hwndTxt;76 staticHWND hwndBtnSure;77 staticHWND hwndBtnSure2;78 staticHWND hwndChild;79 static RECT rect; //矩形结构体80 //char数组

81 static TCHAR szTop[] =TEXT("功能:点击按钮显示文本框内容"),82 szUnd[] =TEXT("_______ ______ ______"),83 szFormat[] =TEXT("%-16s%04X-%04X %04X-%04X"), //关于格式化字符串参考/c__0/blog/static/18831206662661240584/

84 szBuffer[50];85 char constStr[]= { ",欢迎进入C++世界"};86 char outputStr[256];87 static intcxChar,cyChar;88 HDC hdc; //绘图实例句柄

89 HDC childHdc;90 PAINTSTRUCT ps; //绘制结构体

91 inti,len;92 switch(message)93 {94 //创建

95 caseWM_CREATE:96

97 cxChar=LOWORD(GetDialogBaseUnits());98 cyChar=HIWORD(GetDialogBaseUnits());99

100

101 //文本框

102 hwndTxt =CreateWindow (103 "edit",104 "",105 WS_CHILD|WS_VISIBLE|WS_BORDER|BS_TEXT,106 250, 100, 300,22,107 hwnd,108 (HMENU)1,109 ((LPCREATESTRUCT) lParam)->hInstance,110 NULL111 );112

113 //按钮

114 hwndBtnSure2 =CreateWindow(115 TEXT("button"),116 "点击我2",117 WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,118 230,119 190,120 20*cxChar,121 7*cyChar/4,122 hwnd,123 (HMENU)3,124 ((LPCREATESTRUCT) lParam)->hInstance,125 NULL126 );127

128

129

130 hwndBtnSure=CreateWindow(131 TEXT("Button"),132 "点击我",133 WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,134 230,135 150,136 20*cxChar,137 7*cyChar/4,138 hwnd,139 (HMENU)2,140 ((LPCREATESTRUCT) lParam)->hInstance,NULL);141

142

143

144

145 return 0;146

147 caseWM_SIZE:148 rect.left=24*cxChar;149 rect.top=2*cyChar;150 rect.right=LOWORD(lParam);151 rect.bottom=HIWORD(lParam);152 return 0;153

154 caseWM_PAINT:155

156 InvalidateRect(hwnd,&rect,TRUE);157

158 hdc=BeginPaint(hwnd,&ps);159

160 SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT)); //选取当前字体

161 SetBkMode(hdc,TRANSPARENT) ;//背景设置成透明162

163 //SetBkColor(hdc,GetSysColor(COLOR_BTNFACE));

164 SetTextColor(hdc,GetSysColor(COLOR_BTNTEXT)); //设置文本颜色

165

166 TextOut(hdc,24*cxChar,cyChar,szTop,lstrlen(szTop));167 //TextOut(hdc,24*cxChar,cyChar,szUnd,lstrlen(szUnd));

168

169

170

171 EndPaint(hwnd,&ps);172 return 0;173

174 caseWM_DRAWITEM:175 caseWM_COMMAND:176

177 hdc=GetDC(hwnd);178 SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT)); //选取当前字体179

180 //获取当前子窗口句柄

181 hwndChild=(HWND)lParam;182 if(hwndChild==hwndBtnSure)183 {184 char szBuff[256];185 GetWindowText(hwndTxt,szBuff,sizeof(szBuff));186 if(strlen(szBuff)==0)187 return 0;188

189 for(i=0;i

202 ReleaseDC(hwnd,hdc);203 ValidateRect(hwnd,&rect);204 break;205

206 caseWM_CTLCOLORBTN:207 /*

208 childHdc=(HDC)wParam;209 SetBkColor(childHdc,GetSysColor(COLOR_BTNFACE));210 SetTextColor(childHdc,GetSysColor(COLOR_HIGHLIGHT));211 ReleaseDC((HWND)lParam,childHdc);212 */

213 break;214

215 caseWM_DESTROY:216 PostQuitMessage(0);217 return 0;218 }219

220 returnDefWindowProc (hwnd,message,wParam,lParam);221 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。