/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
ListBox
Fra : Henning Madsen


Dato : 14-12-05 00:09

I en listBox har jeg skrevet nogle navne som jeg kan ændre skriftfarven på,
men
den tilføjes nederst i ListBoksen.

ListBox1.Items.AddObject('Grøn',Pointer(clGreen));

Mener det er AddObject der bestemmer tilføjelsen for neden.

Spørgsmålet er nu om der findes en instruktion som overskriver navnet på den
markerede
linie ??

Hvis jeg setter ListBox til sortering og sletter den kopierede linie er alt
vel, men jeg kan ikke (af program messige grunde) bruge sorteringen.

Er der en som ikke er gået på juleferie endnu vel en løsning være rart.

mvh
Henning




 
 
Finn Bindeballe (14-12-2005)
Kommentar
Fra : Finn Bindeballe


Dato : 14-12-05 20:41

hej....

forklar lige lidt nærmere hvad det er du er ude paa .... jeg forstaar
ikke dit problem .....

/F

Henning Madsen (14-12-2005)
Kommentar
Fra : Henning Madsen


Dato : 14-12-05 22:35


"Finn Bindeballe" <ohno@galnet.dk> skrev i en meddelelse
news:43a07496$0$15788$14726298@news.sunsite.dk...
> hej....
>
> forklar lige lidt nærmere hvad det er du er ude paa .... jeg forstaar ikke
> dit problem .....
>
> /F

Meget gerne
Jeg har i FormCreate skrevet
ListBox1.Style:=lbOwnerDrawFixed

og i FormShow lagt 10 navne ind i ListBoksen

og i ListBox1MouseDown følgende
Var
LinieTekst : String;
Begin
//Ved klik på sor skrift laves skriften Rød næste klik laver igen skriften
sort.
//Finder farvenummeret på skriften i den linie der er klikket på.
LinieTekst := IntToStr(ListBox1.Canvas.Font.Color);
Edit1.Text := IntToStr(ListBox1.Canvas.Font.Color);
If Edit1.Text = ('255') Then Edit2.Text := 'Farven er Rød';
If Edit1.Text = ('32768') Then Edit2.Text := 'Farven er Grøn';
If Edit1.Text = ('0') Then Edit2.Text := 'Farven er Sort';
If Edit1.Text = ('65280') Then Edit2.Text := 'Farven er Lime';

If ListBox1.ItemIndex >= 0 Then
Begin //Køres kun hvis der er klikket på en Linie.
LinieTekst := ListBox1.Items.Strings[ListBox1.ItemIndex];
ListBox1.Items.Delete(ListBox1.ItemIndex);
If Edit1.Text = '0' Then
ListBox1.Items.AddObject(LinieTekst,Pointer(clRed));
If Edit1.Text = '255' Then
ListBox1.Items.AddObject(LinieTekst,Pointer(clBlack));
End;

Dette virker Fordi navnene er skrevet i alfabetisk orden og Sorted er sat
til True
Men setter jeg Sorted til False går det galt fordi linien med den ændrede
farve bliver tilføjet for neden i ListBoksen. Derfor er spørsmålet om det
ikke er linien med AddObject der til føjer den farvede linie til for neden i
ListBoksen ???
Og om AddObject kan omskrives til noget der ligner OVERSKRIVOBJECT
Kender Du en kode der kan bruges ????

Det blev langt men en løsning vel være meget meget velkommen.
mvh
Henning



Uffe Kousgaard (15-12-2005)
Kommentar
Fra : Uffe Kousgaard


Dato : 15-12-05 11:12

"Henning Madsen" <HKM@madsen.tdcadsl.dk> wrote in message
news:43a08f5b$0$102$edfadb0f@dread16.news.tele.dk...
>
> Og om AddObject kan omskrives til noget der ligner OVERSKRIVOBJECT

Du skal bruge property Objects henh. Strings til at overskrive eksisterende
"items" på din liste.

hilsen
Uffe



Henning Madsen (15-12-2005)
Kommentar
Fra : Henning Madsen


Dato : 15-12-05 23:11


"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:43a1417d$0$84039$edfadb0f@dtext01.news.tele.dk...
> "Henning Madsen" <HKM@madsen.tdcadsl.dk> wrote in message
> news:43a08f5b$0$102$edfadb0f@dread16.news.tele.dk...
>>
>> Og om AddObject kan omskrives til noget der ligner OVERSKRIVOBJECT
>
> Du skal bruge property Objects henh. Strings til at overskrive
> eksisterende "items" på din liste.
>
> hilsen
> Uffe
> I skal have tak for svarene, men jeg kan ikke hitte ud af det.
Er det mugligt een af jer vel omskrive linien for mig?

If Edit1.Text = '0' Then
ListBox1.Items.AddObject(LinieTekst,Pointer(clRed));

Det jeg ikke er tilfreds med er når man klikker på en linie bliver skriften
godt nok farvet rød, men den bliver tilføjet neders på listen og den linie
der er klikket på bliver stående uforandret.
Ønsket var at den linie man klikker på bliver stående og skriften blot
bliver farvet rød.
Bruger Delphi 7 og XP.

mvh
Henning
>



Henry (18-12-2005)
Kommentar
Fra : Henry


Dato : 18-12-05 16:45

> "Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
> news:43a1417d$0$84039$edfadb0f@dtext01.news.tele.dk...
> > "Henning Madsen" <HKM@madsen.tdcadsl.dk> wrote in message
> > news:43a08f5b$0$102$edfadb0f@dread16.news.tele.dk...
> >>
> >> Og om AddObject kan omskrives til noget der ligner OVERSKRIVOBJECT
> >
> > Du skal bruge property Objects henh. Strings til at overskrive
> > eksisterende "items" på din liste.
> >
> > hilsen
> > Uffe
> > I skal have tak for svarene, men jeg kan ikke hitte ud af det.
> Er det mugligt een af jer vel omskrive linien for mig?
>
> If Edit1.Text = '0' Then
> ListBox1.Items.AddObject(LinieTekst,Pointer(clRed));
>
> Det jeg ikke er tilfreds med er når man klikker på en linie bliver
skriften
> godt nok farvet rød, men den bliver tilføjet neders på listen og den linie
> der er klikket på bliver stående uforandret.
> Ønsket var at den linie man klikker på bliver stående og skriften blot
> bliver farvet rød.
> Bruger Delphi 7 og XP.

Jamen selvfølgelig bliver der tilføjet et nyt item det er jo netop det
addobject gør???
Hvis du skal bearbejde det item du klikker på skal du bruge selected,
getobject etc. Kik under TStrings i on-line hjælpen der er mange forskellige
muligheder.

mvh
Henry




Henning Madsen (18-12-2005)
Kommentar
Fra : Henning Madsen


Dato : 18-12-05 19:58


"Henry" <henry@nomail.com> skrev i en meddelelse
news:43a58476$0$8883$edfadb0f@dread14.news.tele.dk...
>> "Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
>> news:43a1417d$0$84039$edfadb0f@dtext01.news.tele.dk...
>> > "Henning Madsen" <HKM@madsen.tdcadsl.dk> wrote in message
>> > news:43a08f5b$0$102$edfadb0f@dread16.news.tele.dk...
>> >>
>> >> Og om AddObject kan omskrives til noget der ligner OVERSKRIVOBJECT
>> >
>> > Du skal bruge property Objects henh. Strings til at overskrive
>> > eksisterende "items" på din liste.
>> >
>> > hilsen
>> > Uffe
>> > I skal have tak for svarene, men jeg kan ikke hitte ud af det.
>> Er det mugligt een af jer vel omskrive linien for mig?
>>
>> If Edit1.Text = '0' Then
>> ListBox1.Items.AddObject(LinieTekst,Pointer(clRed));
>>
>> Det jeg ikke er tilfreds med er når man klikker på en linie bliver
> skriften
>> godt nok farvet rød, men den bliver tilføjet neders på listen og den
>> linie
>> der er klikket på bliver stående uforandret.
>> Ønsket var at den linie man klikker på bliver stående og skriften blot
>> bliver farvet rød.
>> Bruger Delphi 7 og XP.
>
> Jamen selvfølgelig bliver der tilføjet et nyt item det er jo netop det
> addobject gør???
> Hvis du skal bearbejde det item du klikker på skal du bruge selected,
> getobject etc. Kik under TStrings i on-line hjælpen der er mange
> forskellige
> muligheder.
>
> mvh
> Henry
> Tak for svaret Henry
Forstår jeg dig ret sku problemet klares ved at udskifte AddObject med
SelectedObject.
Men ligemeget hvad jeg skriver får jeg fejlen Undeclared Identifier.
Slår jeg Sortering fra kører programmet ok,som det er, men det kan jeg ikke,
da der senere vel blive tilføjet navne.
>mvh
Henning
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste