PB窗口根据分辨率的大小调整窗口大小

//来自:http://topic.csdn.net/u/20070105/09/88f3c417-6882-4e26-b622-0f9a0a9a65e0.html

//给你个通用函数,在窗口的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

原文地址:https://www.cnblogs.com/zhaoxiong/p/8267101.html