关于动态数据窗口的问题-------创建的文本控件宽度怎么改变不了????(在线等)

let5flying 2003-09-07 08:50:14

我用下面的语句生成了一个数据窗口,

string ls_sql,ls_Style,ls_syntax,ls_error
ls_sql = "select * from data5"
ls_Style = "Style(type=grid) Text(font.face='arial')"
ls_syntax = sqlca.SyntaxFromSQL(ls_sql,ls_Style,ls_error)
if len(ls_error) >0 then
messagebox('Error','SyntaxFromSQL Error:~r'+ls_error)
else
//---------------------------- 创建语法,错误信息
dw_test.create(ls_syntax,ls_error)
if len(ls_error) >0 then
MessageBox("Error", "Create have these errors: ~r" + ls_error)
else
dw_test.settransobject(sqlca)
dw_test.retrieve()
end if
end if

现在需要在数据窗口控件中加一个标题,“查询数据”
现在已经能加上了,可是文本宽度无法调整,字体也不好用,,pb高人指点啊,,,代码如下:

int temp,len,l_pos,l_start
string object_list // DWO对象列表,以TAB键分开
string l_object

len = integer(dw_test.describe("datawindow.detail.height"))
temp = integer((dw_test.describe("datawindow.header.height")))

object_list = dw_test.describe("datawindow.objects")

int l_dw_key_height = 300


do
l_object = "header"
l_start = l_pos
l_pos = pos(object_list, "~t", l_start + 1)
if l_pos = 0 then l_pos = 9999
l_object = mid(object_list, l_start + 1, l_pos - l_start - 1)
if dw_test.describe(l_object + ".band") = "header" then

loop until l_pos = 9999

dw_test.modify("datawindow.header.height=" +string(400))

//-----------名字的标志
int l_new_field =0

//---------颜色
//string l_bg_color = "1086374080", l_color = "33554432"
string l_bg_color = "1008637400", l_color = "7400"

//--------------文字的位置、宽度、高度
string l_height= string(100), l_x = string(0), l_y = string(0), l_width = string(1500)

//----------------字体
string l_fontface = "华文行楷"
string l_fontheight = string(60)

//-----------属性字符串
string l_attr_list

l_attr_list = " band = header " + &
" color = '" + l_color + "'" + &
" background.color = '" + l_bg_color + "'" + &
" Background.Mode = '0'" + &
" font.face = '" + l_fontface + "'" + &
" font.height = '" + l_fontheight + "'" + &
" height = '" + l_height + "'" + &
" text = '数据查询'" + &
" width = '" + l_width + "'" + &
" x = '" + l_x + "'" + &
" y = '" + l_y + "'"

dw_test.modify("create text (" + &
l_attr_list + " name = hdr" + string(l_new_field) + ")")


...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
klbt 2003-09-08
  • 打赏
  • 举报
回复
祝贺楼主,自力更生,奋发图强!
liujiaqiang 2003-09-07
  • 打赏
  • 举报
回复
恭喜恭喜,下次再问我们PB的兄弟们,我们一定会帮助你的.

jdsnhan 2003-09-07
  • 打赏
  • 举报
回复
恭喜楼主,自力更生,我蹭分 *^v^*
let5flying 2003-09-07
  • 打赏
  • 举报
回复
是band = header 的问题
应改为
band = foreground
let5flying 2003-09-07
  • 打赏
  • 举报
回复
不好意思
问题已经解决
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 GridLayout是一种在Android系统中应用的布局方法,它通过构建二维网格来组织界面组件,为开发者提供了一个便捷且多样的途径来布置用户界面元素。在这个详尽的阐释中,我们将全面研究GridLayout的操作方式、其独有特性以及如何在实际的项目开发中高效地运用它。 GridLayout的关键在于其网格构造。在GridLayout中,每个控件可以占据一个或多个网格单元,这些单元通过行列坐标进行标识。通过设定控件的`android:layout_row`和`android:layout_column`属性,开发者可以明确控件在网格中的位置。比如,`android:layout_row="1"`意味着该控件位于第二行,而`android:layout_column="2"`则表示该控件位于第三列。 另外,GridLayout还支持设置控件能够跨越的网格单元数目,这通过`android:layout_rowSpan`和`android:layout_columnSpan`属性来实现。假如一个控件的`layout_rowSpan="2"`,那么它将覆盖两行的区域,`layout_columnSpan="3"`则会导致其横跨三列。这种高度的适应性使得GridLayout能够满足各种复杂的界面设计需求。 在GridLayout的应用中,控件的大小一般会自动适配以填满整个网格单元。不过,开发者也可以通过`android:layout_width`和`android:layout_height`属性来设定确切的尺寸,或者使用`android:layout_weight`属性来分配剩余的空间...

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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