啊哈磊_编程从这里起步

标题: 如何用API来创建一个按钮,MFC不能用 [打印本页]

作者: 吴明程    时间: 2017-12-21 17:04
标题: 如何用API来创建一个按钮,MFC不能用
如题                                                                                                                                                                                    

作者: 创世菌    时间: 2017-12-21 21:50
QT
作者: 创世菌    时间: 2017-12-21 22:01
本帖最后由 创世菌 于 2018-7-26 08:53 编辑

去 C语言中文网 吧!
  1. //窗口过程
  2. LRESULT CALLBACK WndProc(
  3.     HWND hWnd,
  4.     UINT message,
  5.     WPARAM wParam,
  6.     LPARAM lParam
  7. ){
  8.     int wmId, wmEvent;
  9.     PAINTSTRUCT ps;
  10.     HDC hdc;
  11.     static HFONT hFont;
  12.     static HWND hBtn;
  13.     switch (message){
  14.         case  WM_CREATE:
  15.             //创建逻辑字体
  16.             hFont = CreateFont(
  17.                 -15/*高度*/, -7.5/*宽度*/, 0, 0, 400 /*一般这个值设为400*/,
  18.                 FALSE/*不带斜体*/, FALSE/*不带下划线*/, FALSE/*不带删除线*/,
  19.                 DEFAULT_CHARSET,  //使用默认字符集
  20.                 OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,  //这行参数不用管
  21.                 DEFAULT_QUALITY,  //默认输出质量
  22.                 FF_DONTCARE,  //不指定字体族*/
  23.                 TEXT("微软雅黑")  //字体名
  24.             );
  25.             //创建按钮控件
  26.             hBtn = CreateWindow(
  27.                 TEXT("button"), //按钮控件的类名
  28.                 TEXT("这是按钮"),
  29.                 WS_CHILD | WS_VISIBLE | WS_BORDER | BS_FLAT/*扁平样式*/,
  30.                 30 /*X坐标*/, 20 /*Y坐标*/, 150 /*宽度*/, 50/*高度*/,
  31.                 hWnd, (HMENU)2 /*控件唯一标识符*/, hInst, NULL
  32.             );
  33.             SendMessage(hBtn, WM_SETFONT, (WPARAM)hFont, NULL);//设置按钮字体
  34.             break;
  35.         case WM_PAINT:
  36.             hdc = BeginPaint(hWnd, &ps);
  37.             // TODO:  在此添加任意绘图代码...
  38.             EndPaint(hWnd, &ps);
  39.             break;
  40.         case WM_DESTROY:
  41.             //请做好善后工作
  42.             DeleteObject(hFont);
  43.             PostQuitMessage(0);
  44.             break;
  45.         default:
  46.             return DefWindowProc(hWnd, message, wParam, lParam);
  47.     }
  48.     return 0;
  49. }
复制代码

作者: 赵林    时间: 2017-12-22 20:27
devcpp没有mfc,所以mfc对我没用。




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2