PB让窗口在不同的分辨率下自动调整大小

qq_36879338 2019-07-02 04:09:58
2.1.1 //给你个通用函数,在窗口的OPEN事件中加句 f_resize_object(this)即可。
//f_resize_object(window va_window)
//以下为内容:
//定义环境变量

3.1.1 environment ve_hjbl
dec vdec_width,vdec_height //宽度比率、高度比率
integer vi_return //返回数值
long vl_object
vi_return = GetEnvironment(ve_hjbl)
vdec_width = ve_hjbl.ScreenWidth / 1024
vdec_height = ve_hjbl.ScreenHeight / 768
any vs_object_type
4.1.1 CheckBox v_CheckBox
OLECustomControl V_OLECustomControl
CommandButton v_commandButton
Oval v_Oval
DataWindow v_datawindow
Picture v_picture
DropDownListBox v_DropDownListBox
PictureButton v_PictureButton
DropDownPictureListBox v_dropDownPictureListBox
PictureListBox v_picTureListBox
EditMask v_editmask
RadioButton v_radiobutton
Graph v_graph
Rectangle v_rectangle
GroupBox v_groupbox
RichTextEdit v_richtextedit
HScrollBar v_HScrollBar
RoundRectangle v_RoundRectangle
Line v_line
SingleLineEdit v_SingleLineEdit
ListBox v_ListBox
StaticText v_statictext
ListView v_listView
Tab v_tab
MultiLineEdit v_MultiLineEdit
TreeView v_TreeView
OLEControl v_OLEControl
VScrollBar v_VSCrollBar
menu v_menu
//调整窗口属性
5.1.1 va_window.x = va_window.x * vdec_width
va_window.y = va_window.y * vdec_height
//va_window.width = va_window.width * vdec_width
//va_window.height = va_window.height * vdec_height
va_window.Resize(va_window.width * vdec_width,va_window.height * vdec_height)
6.1.1 //处理窗口内对象
for vl_object = 1 to upperBound(va_window.control[])
vs_object_type = va_window.control[vl_object].typeof()
7.1.1 choose case vs_object_type
case CheckBox!
v_CheckBox = va_window.control[vl_object]
v_checkBox.x = v_checkBox.x * vdec_width
v_checkBox.y = v_checkBox.y * vdec_height
v_checkBox.width = v_checkbox.width * vdec_width
v_checkbox.height = v_checkbox.height * vdec_height
v_checkbox.textsize = v_checkbox.textsize * vdec_width
case OLECustomControl!
V_OLECustomControl = va_window.control[vl_object]
V_OLECustomControl.x = V_OLECustomControl.y * vdec_width
V_OLECustomControl.y = V_OLECustomControl.y * vdec_height
V_OLECustomControl.width = V_OLECustomControl.width * vdec_width
V_OLECustomControl.height = V_OLECustomControl.height * vdec_height
case CommandButton!
v_commandButton = va_window.control[vl_object]
v_commandButton.x = v_commandButton.x * vdec_width
v_commandButton.y = v_commandButton.y * vdec_height
v_commandButton.width = v_commandButton.width * vdec_width
v_commandButton.height = v_commandButton.height * vdec_height
v_commandButton.textsize = v_commandButton.textsize * vdec_width
case Oval!
v_Oval = va_window.control[vl_object]
v_Oval.x = v_Oval.x * vdec_width
v_Oval.y = v_Oval.y * vdec_height
v_Oval.width = v_Oval.width * vdec_width
v_Oval.height = v_Oval.height * vdec_height
case DataWindow!
v_datawindow = va_window.control[vl_object]
v_datawindow.x = v_datawindow.x * vdec_width
v_datawindow.y = v_datawindow.y * vdec_height
v_datawindow.width = v_datawindow.width * vdec_width
v_datawindow.height = v_datawindow.height * vdec_height
case Picture!
v_picture = va_window.control[vl_object]
v_picture.x = v_picture.x * vdec_width
v_picture.y = v_picture.y * vdec_height
v_picture.width = v_picture.width * vdec_width
v_picture.height = v_picture.height * vdec_height
case DropDownListBox!
v_DropDownListBox = va_window.control[vl_object]
v_DropDownListBox.x = v_DropDownListBox.x * vdec_width
v_DropDownListBox.y = v_DropDownListBox.y * vdec_height
v_DropDownListBox.width = v_DropDownListBox.width * vdec_width
v_DropDownListBox.height = v_DropDownListBox.height * vdec_height
v_DropDownListBox.textsize = v_DropDownListBox.textsize * vdec_width
case PictureButton!
v_PictureButton = va_window.control[vl_object]
v_PictureButton.x = v_PictureButton.x * vdec_width
v_PictureButton.y = v_PictureButton.y * vdec_height
v_PictureButton.width = v_PictureButton.width * vdec_width
v_PictureButton.height = v_PictureButton.height * vdec_height
v_PictureButton.textsize = v_PictureButton.textsize * vdec_width
case DropDownPictureListBox!
v_dropDownPictureListBox = va_window.control[vl_object]
v_dropDownPictureListBox.x = v_dropDownPictureListBox.x * vdec_width
v_dropDownPictureListBox.y = v_dropDownPictureListBox.y * vdec_height
v_dropDownPictureListBox.width = v_dropDownPictureListBox.width * vdec_width
v_dropDownPictureListBox.height = v_dropDownPictureListBox.height * vdec_height
v_dropDownPictureListBox.textsize = v_dropDownPictureListBox.textsize * vdec_width
case PictureListBox!
v_picTureListBox = va_window.control[vl_object]
v_picTureListBox.x = v_picTureListBox.x * vdec_width
v_picTureListBox.y = v_picTureListBox.y * vdec_height
v_picTureListBox.width = v_picTureListBox.width * vdec_width
v_picTureListBox.height = v_picTureListBox.height * vdec_height
v_picTureListBox.textsize = v_picTureListBox.textsize * vdec_width
case EditMask!
v_editmask = va_window.control[vl_object]
v_editmask.x = v_editmask.x * vdec_width
v_editmask.y = v_editmask.y * vdec_height
v_editmask.width = v_editmask.width * vdec_width
v_editmask.height = (v_editmask.height * vdec_height )/0.9
v_editmask.textsize = v_editmask.textsize * vdec_width
case RadioButton!
v_radiobutton = va_window.control[vl_object]
v_radiobutton.x = v_radiobutton.x * vdec_width
v_radiobutton.y = v_radiobutton.y * vdec_height
v_radiobutton.width = v_radiobutton.width * vdec_width
v_radiobutton.height = v_radiobutton.height * vdec_height
v_radiobutton.textsize = v_radiobutton.textsize * vdec_width
case Graph!
v_graph = va_window.control[vl_object]
v_graph.x = v_graph.x * vdec_width
v_graph.y = v_graph.y * vdec_height
v_graph.width = v_graph.width * vdec_width
v_graph.height = v_graph.height* vdec_height
case Rectangle!
v_rectangle = va_window.control[vl_object]
v_rectangle.x = v_rectangle.x * vdec_width
v_rectangle.y = v_rectangle.y * vdec_height
v_rectangle.width = v_rectangle.width * vdec_width
v_rectangle.height = v_rectangle.height * vdec_height
case GroupBox!
v_groupbox = va_window.control[vl_object]
v_groupbox.x = v_groupbox.x * vdec_width
v_groupbox.y = v_groupbox.y * vdec_height
v_groupbox.width = v_groupbox.width * vdec_width
v_groupbox.height = v_groupbox.height * vdec_height
v_groupbox.textsize = v_groupbox.textsize * vdec_width
case RichTextEdit!
v_richtextedit = va_window.control[vl_object]
v_richtextedit.x = v_richtextedit.x * vdec_width
v_richtextedit.y = v_richtextedit.y * vdec_height
v_richtextedit.width = v_richtextedit.width * vdec_width
v_richtextedit.height = v_richtextedit.height * vdec_height
case HScrollBar!
v_HScrollBar = va_window.control[vl_object]
v_HScrollBar.x = v_HScrollBar.x * vdec_width
v_HScrollBar.y = v_HScrollBar.y * vdec_height
v_HScrollBar.width = v_HScrollBar.width * vdec_width
v_HScrollBar.height = v_HScrollBar.height * vdec_height
case RoundRectangle!
v_RoundRectangle = va_window.control[vl_object]
v_RoundRectangle.x = v_RoundRectangle.x * vdec_width
v_RoundRectangle.y = v_RoundRectangle.y * vdec_height
v_RoundRectangle.width = v_RoundRectangle.width * vdec_width
v_RoundRectangle.height = v_RoundRectangle.height * vdec_height
case Line!
v_line = va_window.control[vl_object]
v_line.beginx = v_line.beginx * vdec_width
v_line.beginy = v_line.beginy * vdec_height
v_line.endx = v_line.endx * vdec_width
v_line.endy = v_line.endy * vdec_height
8.1.1 case SingleLineEdit!
v_SingleLineEdit = va_window.control[vl_object]
v_SingleLineEdit.x = v_SingleLineEdit.x * vdec_width
v_SingleLineEdit.y = v_SingleLineEdit.y * vdec_height
v_SingleLineEdit.width = v_SingleLineEdit.width * vdec_width
v_SingleLineEdit.height = v_SingleLineEdit.height * vdec_height
v_SingleLineEdit.textsize = v_SingleLineEdit.textsize * vdec_width
case ListBox!
v_ListBox = va_window.control[vl_object]
v_ListBox.x = v_ListBox.x * vdec_width
v_ListBox.y = v_ListBox.y * vdec_height
v_ListBox.width = v_ListBox.width * vdec_width
v_ListBox.height = v_ListBox.height * vdec_height
v_ListBox.textsize = v_ListBox.textsize * vdec_width
case StaticText!
v_statictext = va_window.control[vl_object]
v_statictext.x =v_statictext.x * vdec_width
v_statictext.y = v_statictext.y * vdec_height
v_statictext.width = v_statictext.width * vdec_width
v_statictext.height = ( v_statictext.height * vdec_height )/0.8
v_statictext.textsize = v_statictext.textsize * vdec_width
case ListView!
v_listView = va_window.control[vl_object]
v_listView.x = v_listView.x * vdec_width
v_listView.y = v_listView.y * vdec_height
v_listView.width = v_listView.width * vdec_width
v_listView.height = v_listView.height * vdec_height
v_listView.textsize = v_listView.textsize * vdec_width
9.1.1 case MultiLineEdit!
v_MultiLineEdit = va_window.control[vl_object]
v_MultiLineEdit.x = v_MultiLineEdit.x * vdec_width
v_MultiLineEdit.y = v_MultiLineEdit.y * vdec_height
v_MultiLineEdit.width = v_Mult
...全文
130 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
WMERP 2019-07-03
  • 打赏
  • 举报
回复
datawindow还少了一个ZOOM要修改,不然本身小的DW变大后就左上角显示一点点也不好看
qq_1919561306 2019-07-03
  • 打赏
  • 举报
回复
哥们,你这个不错。不过好像没有贴完整

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧