"Henning Madsen" <hkjeldm@mail.dk> skrev i en meddelelse
news:47c2e3c6$0$15878$edfadb0f@dtext01.news.tele.dk...
> Jeg har et problem mere (Når man rækker fanden en lillefinger osv.)
> Men aligevel
> //==============================================================================
> procedure TForm1.Image1MouseDown(Sender: TObject; Button:
> TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> var
> Antal : Integer;
> Haven : TIniFile;
> begin
> Navn := Listbox1.Items[5];
> Haven :=
> TIniFile.Create(ExtractFilePath(ParamStr(0))+'\'+'Haven'+'.INI');
> Antal := Haven.ReadInteger('Plads','Antal',0);
> Antal := Antal + 1;
> XX := X;
> YY := Y;
> GemCirkelData(Antal,XX,YY,Farve,Diameter,Navn); //---------->
> TegnCirkel(XX,YY,Farve,Diameter,Navn); //---------->
> Haven.Free;
> end;
> //=============================================================================
>
> Den viste Procedure virker ok men
> Min Listboxen som er anbragt på formen indeholder ca 700 navne,
> Ved kørsel vel jeg gerne have at Proceduren på en eller anden måde
> stopper og giver mig muglighed for at markerer det navn jeg skal bruge
> og kører videre med det. Er det mugligt??
>
Mjea, det kan du vel godt:
//Kode her som kører før valget
While MyListBox.selected=nil do
begin
Application.processmessages;
end;
//kode som skal køres efter...
MEN, det er en MEGET dårlig løsning! (Så dårlig at jeg overvejede om jeg
overhovedet skulle skrive det
)
Kan brugeren ikke lave disse valg FØR din Image1MouseDown-event? Altså
vælge i listen inden de klikker på billedet? Dette ville være en bedre
løsning(og sikkert også mere intuitiv for brugeren)...
Så kan du lave din Image1MouseDown om til noget al'a:
//==============================================================================
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Antal : Integer;
Haven : TIniFile;
begin
if MyListBox.selected = nil then
begin
messagedlg('Du skal vælge i listen først!',mtwarning,[mbok],0);
end
else
begin
Navn := Listbox1.Items[5];
Haven :=
TIniFile.Create(ExtractFilePath(ParamStr(0))+'\'+'Haven'+'.INI');
Antal := Haven.ReadInteger('Plads','Antal',0);
Antal := Antal + 1;
XX := X;
YY := Y;
GemCirkelData(Antal,XX,YY,Farve,Diameter,Navn); //---------->
TegnCirkel(XX,YY,Farve,Diameter,Navn); //---------->
Haven.Free;
end;
end;
//=============================================================================
MVH
Thomas