PB讓視窗在不同的解析度下自動調整大小函式
//給你個通用函式,在視窗的OPEN事件中加句 f_resize_object(this)即可。
//f_resize_object(window va_window)
//以下為內容:
//定義環境變數
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
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
//調整視窗屬性
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)
//處理視窗內物件
for vl_object = 1 to upperBound(va_window.control[])
vs_object_type = va_window.control[vl_object].typeof()
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
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
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_MultiLineEdit.width * vdec_width
v_MultiLineEdit.height = v_MultiLineEdit.height * vdec_height
v_MultiLineEdit.textsize = v_MultiLineEdit.textsize * vdec_width
case TreeView!
v_TreeView = va_window.control[vl_object]
v_TreeView.x = v_TreeView.x * vdec_width
v_TreeView.y = v_TreeView.y * vdec_height
v_TreeView.width = v_TreeView.width * vdec_width
v_TreeView.height = v_TreeView.height * vdec_height
v_TreeView.textsize = v_TreeView.textsize * vdec_width
case OLEControl!
v_OLEControl = va_window.control[vl_object]
v_OLEControl.x = v_OLEControl.x * vdec_width
v_OLEControl.y = v_OLEControl.y * vdec_height
v_OLEControl.width = v_OLEControl.width * vdec_width
v_OLEControl.height = v_OLEControl.height * vdec_height
case VScrollBar!
v_VSCrollBar = va_window.control[vl_object]
v_VSCrollBar.x = v_VSCrollBar.x * vdec_width
v_VSCrollBar.y = v_VSCrollBar.y * vdec_height
v_VSCrollBar.width = v_VSCrollBar.width * vdec_width
v_VSCrollBar.height = v_VSCrollBar.height * vdec_height
case menu!
end choose
next
//視窗居中
long ll_ScreenH,ll_ScreenW
ll_ScreenH = PixelsToUnits(ve_hjbl.ScreenHeight, YPixelsToUnits!)
ll_ScreenW = PixelsToUnits(ve_hjbl.ScreenWidth , XPixelsToUnits!)
va_window.Y = (ll_ScreenH - va_window.Height) / 2
va_window.X = (ll_ScreenW - va_window.Width ) / 2