請問我該如何獲取一個窗體中listbox控件內的值啊?
比如我想在delphi中寫段代碼獲取一個運行程序窗體內listbox中的值,請問該怎么解決啊?
比如我想在delphi中寫段代碼獲取一個運行程序窗體內listbox中的值,請問該怎么解決啊?
解决方案 »
- 有没有介绍三层架构的书啊?介绍下?
- delphi新手报道。。 进来看 有惊喜 。。
- 关于D7组播控件IdIPMCastClient1和IdIPMCast
- 在上海寻找delphi兼职
- 一个数据库模糊查询的问题
- table1.InsertRecord和table1.SetFields能否直接用SQL语句替代??????
- 高分求高手,500分加人民币2000元帮忙完成一套小程序!
- 被遗忘的角落:delphi目录下的exe文件们
- 怎样得到outlook和outlook express的联系人列表?
- 如何用OpenDialog1.Filter打开文件,并将文件中的内容付给变量text
- 请问这个函数Delphi怎么写?
- 一個listview比較大的問題??????
然后给它发消息,让它告诉你
或用
Wm_GetText这个消息...
SendMessage(hList,WM_GetText,256,integer(@szText[0]));
wParam = (WPARAM) index; // item index
lParam = (LPARAM) (LPCTSTR) lpszBuffer; // address of buffer
function GetListBoxText(mHandle: THandle; mStrings: TStrings): Boolean;
var
vItemCount: Integer;
I: Integer;
S: string;
begin
Result := False;
if not Assigned(mStrings) then Exit;
mStrings.BeginUpdate;
try
mStrings.Clear;
vItemCount := SendMessage(mHandle, LB_GETCOUNT, 0, 0);
for I := 0 to vItemCount - 1 do begin
SetLength(S, SendMessage(mHandle, LB_GETTEXTLEN, I, 0));
SendMessage(mHandle, LB_GETTEXT, I, Integer(@S[1]));
mStrings.Add(S);
end;
SetLength(S, 0);
finally
mStrings.EndUpdate;
end;
Result := True;
end; { GetListBoxText }
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
begin
sl:= TStringList.Create;
GetListBoxText(listbox1.Handle,sl);
//sl就是listbox中的内容
end;procedure GetListBoxText(mHandle: THandle;
var sl: TStringList);
var
vItemCount: Integer;
I: Integer;
S: string;
begin
vItemCount := SendMessage(mHandle, LB_GETCOUNT, 0, 0);
for I := 0 to vItemCount - 1 do
begin
SetLength(S, SendMessage(mHandle, LB_GETTEXTLEN, I, 0));
SendMessage(mHandle, LB_GETTEXT, I, Integer(@S[1]));
sl.Add(S);
end;
end;