اضآفة المعلموات في مكون ال ListWiew ؟
#7
إقتباس :لاتوجد فيها قيم..لم تدخل له اي قيمة
ما نسميه نحن بذلك يعتبره دلفي "غير موجود"
محاولة الولوج إلى عنصر "غير موجود" ضمن قائمة متصلة يثير في دلفي استثناء: List index out of bounds

في الحقيقة هذا يرجع إلى طريقة تعريف الصنف TListView نفسه في المكتبة CommCtrl
طريقة لتدارك الأمر باستخدام API مباشرة يمكن أن تكون بهذا الشكل:
PHP كود :
uses
  CommCtrl
;

{
$R *.dfm}

function 
GetLVText(iItem, iSubItem: Integer): string;
var 
Str: array[0..MAX_PATH] of Char;
begin
  ListView_GetItemText
(Form1.ListView1.Handle, iItem, iSubItem, Str, MAX_PATH);
  
Result := Trim(Str);
end;

procedure SetLVText(iItem, iSubItem: Integer; Text: string);
begin
  
if GetLVText(iItem, iSubItem) = '' then
    ListView_SetItemText
(Form1.ListView1.Handle, iItem, iSubItem, PChar(Text));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListView1
.Items.Add.Caption := 'test';
  
SetLVText(0, 3, 'some text')
end; 
هذه الطريقة استخدمتها في أحد البرامج التي لم أطرحها بعد WinExplorer
بالتوفيق.
الرد


الردود في هذا الموضوع
اضآفة المعلموات في مكون ال ListWiew ؟ - بواسطة kachwahed - 30-03-2011, 06:14 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم