anythinging 发表于 2020-11-30 16:28:55

chzj589 发表于 2020-11-30 16:23
打勾后的表格操作方式

这个可否分享下代码,整体学习下

afan 发表于 2020-11-30 16:32:29

本帖最后由 afan 于 2020-11-30 16:34 编辑

anythinging 发表于 2020-11-30 15:37
花了1天,总算大致明白了input部份的代码

请教版主,

1,自己用的话直接调整到列表单行高度的固定值就行,给他人或是发布则需要程序内获取列表单行高度再赋值,或者直接设置行高为统一高度。例子中不会有这些代码,会影响主题表达。
每个人的系统环境难免不同,别人贴图吻合适配的只是他的使用环境。
;https://www.autoitx.com/data/attachment/forum/202009/22/220020ti1980wy0y2tg9l0.png
;
2,ComboBox的高度是包含展开下拉列表时的高度,GUICtrlSetPos设置的也是如此。要设置ComboBox正常状态下的高度可以用 _GUICtrlComboBox_SetItemHeight。同上,也可以直接设置行高为统一高度。
_ArrayDisplay不适合在系统消息中使用。那样容易造成假死崩溃。_ArrayDisplay本身就是一个完整的窗口过程。

chzj589 发表于 2020-12-1 09:07:06

本帖最后由 chzj589 于 2020-12-1 10:01 编辑

anythinging 发表于 2020-11-30 15:43
感谢指点,惭愧啊,现在套用都得有难度,其实如果能达到随意套用并根据需要修改些小的地方就已经很满足了 ...
己跟你说过是座标的问题,还不理解?
1:$Listview1 = GUICtrlCreateListView('', 2, 2, 596, 258)
2:GUICtrlSetPos($iCombo, $aRect + 4, $aRect + 2, $aRect - $aRect)
两个之间的座标关联。
你把1:修改为:$Listview1 = GUICtrlCreateListView('', 2, 52, 596, 258)
再去调整2:的座标看是多少?
GUICtrlSetPos($iCombo, $aRect + 4, $aRect + ?, $aRect - $aRect)这是例一。
如果把主窗口扩大,
$hGui = GUICreate('', 1200, 640, -1, -1)
1:$Listview1 = GUICtrlCreateListView('', 602, 302, 596, 258)
那2:GUICtrlSetPos($iCombo, $aRect + ?, $aRect + ?, $aRect - $aRect)要调整?=几
多试试就知道了

chzj589 发表于 2020-12-1 10:22:39

anythinging 发表于 2020-11-30 16:28
这个可否分享下代码,整体学习下

Input编辑框,Combo下拉组合框,Menu下拉组合框这三种的代码你都有了,
ComboBoxEx_Create组合框帮助文件里查找,然后整合在一起。
自己动手才好玩。领悟会比较深刻。这才是学习。
有代码不是学习,只是套用。最多是修改座标,便为己有。

afan 发表于 2020-12-5 22:27:52

这贴LZ不跟进自己的问题,看来也要沦为无意义了。
再提醒一下,提问区不要在一楼修改自己的问题(可以补充进度,但不要修改原始问题),否则后面的跟帖可能会变得无意义或让他人阅读时感觉莫名其妙。有问题直接继续跟帖,以保持问题的连贯性。

Dontang2018 发表于 2020-12-5 23:26:01

学习下,学习下

anythinging 发表于 2020-12-7 12:28:06

afan 发表于 2020-12-5 22:27
这贴LZ不跟进自己的问题,看来也要沦为无意义了。
再提醒一下,提问区不要在一楼修改自己的问题(可以补充 ...

收到,感谢指点!
回帖中的方法感觉挺都很好用,正在一个一个学习中。

chzj589 发表于 2020-12-7 19:11:33

本帖最后由 chzj589 于 2020-12-7 20:42 编辑

anythinging 发表于 2020-12-7 12:28
收到,感谢指点!
回帖中的方法感觉挺都很好用,正在一个一个学习中。
不知LZ是如何浏览网页的,
没认真看帖子?


anythinging 发表于 2020-12-7 21:58:11

本帖最后由 anythinging 于 2020-12-7 22:00 编辑

各位息怒,看了很多代码,目前我这个贴子中各位大师回复的代码可能是最好的了。
这些天确实在用心的一句一句的学,又怕自己太笨让各位费神,但是真的卡住了卡住了!
不知下面三句理解的对不对,始终没掌握要领

Local $sData = _GUICtrlListView_GetItemText($hListView, $iIndex, $iSub)                ;检索列表视图项目或子项文本.$sData=当前选中表格的文本

#cs============================================
GUICtrlSetPos,调整控件在窗口中的位置和(或)大小.
GUICtrlSetPos(控件ID, 左距, 顶距[, 宽度[, 高度]]])
#ce============================================
GUICtrlSetPos($iCombo      , $aRect + 4                , $aRect + 2                ,$aRect - $aRect)
;GUICtrlSetPos($iCombo      , X座标                                        , Y座标                                        ,宽度)
;GUICtrlSetPos($iCombo      ,矩形左上角 X 坐标+4         ,矩形左上角 Y 坐标+2         ,矩形左上角 Y 坐标+22 ,矩形右下角 X 坐标 - 矩形左上角 X 坐标)

#cs============================================
GUICtrlSetData( 控件ID, 数据[, 默认值])
对于 Combo(组合框), List(列表): 用于显示的默认值.
对于 Edit (编辑框), Input (输入框): 若此参数设置为非空值(""), 则该字符串将被插入到当前插入符号所在点.
#ce============================================
GUICtrlSetData($iCombo, '|' & $sData & '|' & $sDef, $sData)
;GUICtrlSetData($iCombo, 组合框下拉菜单中的内容(前面为什么有个|?), 当前选中表格的文本(必需用$sData,如果用如12345无法显示 ))

afan 发表于 2020-12-7 22:14:13

本帖最后由 afan 于 2020-12-7 22:16 编辑

;GUICtrlSetPos($iCombo      ,矩形左上角 X 坐标+4         ,矩形左上角 Y 坐标+2         ,矩形左上角 Y 坐标+22 ,矩形右下角 X 坐标 - 矩形左上角 X 坐标)
以上红色部分是多余的。

GUICtrlSetData 帮助文档内容:
对于 Combo(组合框)或 List(列表)控件 :
如果"数据"为已存在的条目, 则将它设置为默认.
如果"数据"以 GUIDataSeparatorChar 开始或空串 "", 则前一条列表被销毁. 尾随的 GUIDataSeparatorChar 将被忽略.

GUIDataSeparatorChar 定义 GUICtrlSetData() 函数多个数据间的分隔字符. 默认分隔字符为 '|'.
也就是说以|开头设置数据可以覆写的形式更新下拉列表,否则会以追加的形式添加到下拉列表中,那样重复的内容就不知道有多少了。

chzj589 发表于 2020-12-8 08:07:37

anythinging 发表于 2020-12-7 21:58
各位息怒,看了很多代码,目前我这个贴子中各位大师回复的代码可能是最好的了。
这些天确实在用心的一句一 ...

理解对不对?在编辑时,多动几下手测试不就知道了。
我猜你是用手机上网,所以没办法运行 SciTE编辑测试。

anythinging 发表于 2020-12-8 10:39:07

本帖最后由 anythinging 于 2020-12-8 10:41 编辑

对新手来说看一天也不如版主一句话的指点,感谢耐心指点!
经过测试我好象明白了一点,A版的回车确认功能好象是针对input的,如果用在combo上不正常,由于不明白那段代码和原理,难以举一反三,请教版主指点其它的如combo的回车确认方法

afan 发表于 2020-12-8 11:14:25

anythinging 发表于 2020-12-8 10:39
对新手来说看一天也不如版主一句话的指点,感谢耐心指点!
经过测试我好象明白了一点,A版的回车确认功能 ...

我在27#写的例子就包含了ComboBox的,不需要“如果用在combo上”,既然是示例,回车当然也支持该控件,不知道你说的不正常是什么鬼。诸如有问题、不正常之类的描述,一定要多加一句是哪里怎么样。

anythinging 发表于 2020-12-8 17:31:59

应该是我对版主的代码没理解好

anythinging 发表于 2020-12-26 22:23:16

本帖最后由 anythinging 于 2020-12-26 22:24 编辑

afan 发表于 2020-11-28 22:19
不需要创建ini文件,程序会自动生成
双击第2列可编辑输入框;双击第3列可选择下拉框;单击第4列可删除;任 ...
A版,请教下,关于回车确认的功能,如果Opt('GUIOnEventMode', 0)的话,如何生效?
我现在只会用了笨方法,A\B 2个窗口,其中B窗口是listview表格,A窗口是Opt('GUIOnEventMode', 0)模式,通过A窗口调出B窗口时设置为Opt('GUIOnEventMode', 1),关闭B窗口再设置为Opt('GUIOnEventMode', 0)。
页: 1 2 3 [4] 5
查看完整版本: [已解决]恳请指点--终于参照版主大人的帖子实现了ini文件内容的读取,但遇到了问题