这回请一定要帮我(关于ComboBoxEx32),我很着急...

Lin 2000-05-21 06:41:00
Delphi自带的TComboBox没有ImageList属性,因此我在Form的OnCreate事件中自己创建了一个类名为ComboBoxEx32(Windows标准控件)的控件:
...
InitCtrls.dwSize := SizeOf(TInitCommonControlsEx);
InitCtrls.dwICC := ICC_WIN95_CLASSES or ICC_USEREX_CLASSES or ICC_COOL_CLASSES;
InitCommonControlsEx(InitCtrls);
wnd := CreateWindowEx(WS_EX_TRANSPARENT, WC_COMBOBOXEX, WC_COMBOBOXEX,
CBS_DROPDOWNLIST or CBS_SORT or WS_VSCROLL or
WS_TABSTOP or WS_VISIBLE or WS_CHILD, 98, 10,
181, 200, Handle, 0, hInstance, nil);
if wnd <> 0 then
SendMessage(wnd, CBEM_SETIMAGELIST, 0, ImgList.Handle);
...
随后,向wnd填充了项目:
var cbei: TComboBoxExItem;
nLoop: Integer;
...
cbei.mask := CBEIF_IMAGE or CBEIF_TEXT or CBEIF_INDENT or CBEIF_SELECTEDIMAGE;
with tvNethood do
for nLoop := 0 to Items.Count - 1 do
begin
cbei.iItem := nLoop;
cbei.pszText := PChar(Items[nLoop].Text);
cbei.iImage := Items[nLoop].ImageIndex;
cbei.iOverlay := cbei.iImage;
cbei.iSelectedImage := cbei.iImage;
cbei.iIndent := Items[nLoop].Level * 2;
SendMessage(wnd, CBEM_INSERTITEM, 0, LPARAM(@cbei));
end;
...
但奇怪的是wnd里面什么也没有!这是怎么回事啊?各位大虾请帮帮我。
...全文
224 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lin 2000-05-28
  • 打赏
  • 举报
回复
谢谢kxy,我已经自己搞定了(自己编写了一个控件)。
kxy 2000-05-22
  • 打赏
  • 举报
回复
LMD中有TLMDImageComboBox,你可以去看看它的source:)

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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