VBA使用API_04:标准控件

2020-07-28 11:48:03 浏览数 (1)

前面使用BUTTON就是一个windows系统内置注册好了的标准控件,和使用VBA窗体差不多,其他还有:

  • Lable
  • TextBox
  • Frame
  • RadioButton(OptionButton)
  • CheckBox
  • ListBox
  • ComboBox
  • Scrollbar

使用方法和BUTTON差不多,主要就是修改类名以及Style:

代码语言:javascript复制
    CreateWindowEx 0, "STATIC", "Lable", WS_CHILD Or WS_VISIBLE, 5, 35, 80, 20, hWnd, 2, Application.hInstance, ByVal 0
    CreateWindowEx 0, "EDIT", "TextBox", WS_CHILD Or WS_VISIBLE Or WS_BORDER, 5, 60, 80, 20, hWnd, 3, Application.hInstance, ByVal 0
    CreateWindowEx 0, "BUTTON", "Frame", WS_CHILD Or WS_VISIBLE Or BS_GROUPBOX, 5, 90, 80, 20, hWnd, 3, Application.hInstance, ByVal 0
    CreateWindowEx 0, "BUTTON", "OptionButton", WS_CHILD Or WS_VISIBLE Or BS_AUTORADIOBUTTON, 5, 120, 150, 20, hWnd, 3, Application.hInstance, ByVal 0
    CreateWindowEx 0, "BUTTON", "CheckBox", WS_CHILD Or WS_VISIBLE Or BS_AUTOCHECKBOX, 5, 150, 150, 20, hWnd, 3, Application.hInstance, ByVal 0
    CreateWindowEx 0, "LISTBOX", "ListBox", WS_CHILD Or WS_VISIBLE Or LBS_STANDARD, 5, 180, 150, 100, hWnd, 3, Application.hInstance, ByVal 0
    CreateWindowEx 0, "COMBOBOX", "ComboBox", WS_CHILD Or WS_VISIBLE Or WS_VSCROLL Or CBS_AUTOHSCROLL Or CBS_DROPDOWNLIST, 5, 300, 150, 100, hWnd, 3, Application.hInstance, ByVal 0
    CreateWindowEx 0, "SCROLLBAR", "Scrollbar", WS_CHILD Or WS_VISIBLE Or SBS_HORZ, 5, 410, 150, 20, hWnd, 3, Application.hInstance, ByVal 0

效果:

这些控件和VBA工具箱上提供的控件基本一样,只是VBA上的控件已经封装好了很多功能,使用起来非常的方便,如果自己用API来创建的话,就要通过回调函数来处理很多东西,非常的麻烦,真正使用自然是不建议的,但是了解API能够理解底层的一些原理知识。

0 人点赞