|
| 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
>
| |
|
|